CLKSER page# 0001 next
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
CLKSER page# 0002 next prev
98: SUBTTL APRINT 8 SEPT 67
99:
100:
101:
102:
103:
104:
105: AP2CHL←CAT(P2CH,\APRCHN)
106: CL2CHL←CAT(P2CH,\CLKCHN)
107:
108:
109: ↑AP2INT:
110: EXCH PID,APRID+P2PID
111: JRST BREAKX
112:
113: ↑APRINT:
114: EXCH PID,APRID+P1PID
115:
116:
117:
118: CONSZ APR,ADRBRK
119: JRST BREAK
120: BREAKX: CONSO APR,1B26
121: JRST APRER
122:
123:
124: AOS TIME(PID)
125: AOS UPTIME(PID)
126: SETOM TIMEFF(PID)
127: HLLOS CLKFLG(PID)
128: MOVEM TAC,APRTAC(PID)
129: CONSO PI,7400
130: JRST BREAK3
131: AOS INTIME(PID)
132: JRST APRI1
133:
134: BREAK3: SKIPN TAC,JOB(PID)
135: JUMPN PID,APRI1
136: AOS TTIME(TAC)
137: AOS JBTRNB(TAC)
138: JUMPE TAC,APRI1
139: MOVEM AC1,APRAC1(PID)
140: HLRZ AC1,JBTADR(TAC)
141: LSH AC1,-12
142: ADDI AC1,1
143: ADDM AC1,JBTKCJ(TAC)
144: MOVE AC1,APRAC1(PID)
145: APRI1: JUMPN PID,APRADD
146: SOSGE DDCNT
147: JRST DDCLK
148: SKIPE DDSTART
149: JRST DDSTRT
150:
CLKSER page# 0003 next prev
152:
153:
154:
155:
156:
157:
158: ↑APRADD:
159: JUMPN PID,APRI2
160: SKIPN TAC,APRLST
161: JRST APRI2
162: MOVEM AC1,APRAC1(PID)
163: MOVEM J,APRJ(PID)
164: MOVEM AC2,APRAC2(PID)
165: EXCH P,APRPDL(PID)
166: APRCI2: SKIPN J,(TAC)
167: JRST APRCI9
168: AOSGE 1(TAC)
169: JRST APRCI4
170: MOVSI AC2,INTCLK
171: TDNN AC2,JBTIEN(J)
172: JRST APRCI5
173: HLRZ AC1,J
174: MOVNM AC1,1(TAC)
175: IORM AC2,JBTIRQ(J)
176: SETOM INTREQ(PID)
177: APRCI4: ADDI TAC,2
178: JRST APRCI2
179:
180:
181:
182:
183:
184:
185: ↑APRDEL:
186: JUMPN PID,CPOPJ
187: MOVEI AC1,2(TAC)
188: APRCI6: SKIPN (AC1)
189: JRST APRCI7
190: ADDI AC1,2
191: JRST APRCI6
192:
193: APRCI7: MOVE AC2,-2(AC1)
194: MOVEM AC2,(TAC)
195: MOVE AC2,-1(AC1)
196: MOVEM AC2,1(TAC)
197: SETZM -2(AC1)
198: MOVEI AC1,-2(AC1)
199: CAME AC1,APRLST
200: POPJ P,
201: APRCI8: AOS (P)
202: APRDRL: MOVEI AC1,0
203: EXCH AC1,APRLST
204: JRST FSGIVE
205:
206: APRCI5: PUSHJ P,APRDEL
207: JRST APRCI2
208: JRST APRCI3
209: APRCI9: CAMN TAC,APRLST
210: PUSHJ P,APRDRL
211: APRCI3: EXCH P,APRPDL(PID)
212: MOVE AC1,APRAC1(PID)
213: MOVE AC2,APRAC2(PID)
214: MOVE J,APRJ(PID)
CLKSER page# 0004 next prev
216:
217:
218: APRI2: SKIPE SPWUUF(PID)
219: SOSE SPWTMO(PID)
220: JRST APRI2Z
221:
222:
223: MOVEI TAC,46
224: CONSZ PI,1000
225: JRST APRI2A
226: CONSZ PI,2000
227: JRST APRI2B
228: CONSO PI,4000
229: JRST APRI2D
230: JRST APRI2C
231: APRI2A: ADDI TAC,2
232: APRI2B: ADDI TAC,2
233: APRI2C: ADDI TAC,2
234: APRI2D: JUMPN PID,.+2
235: IORI TAC,100
236: MOVEM TAC1,SPWBLO(PID)
237: MOVE TAC1,[JRST SPTMOE]
238: MOVEM TAC1,SPWXCT(PID)
239: EXCH TAC1,@(TAC)
240: TLNE TAC1,USRMOD
241: JRST APRI2Y
242: EXCH TAC1,@(TAC)
243: MOVE TAC1,UUO0(PID)
244: APRI2Y: EXCH TAC1,SPWBLO(PID)
245:
246: APRI2Z: MOVE TAC,APRTAC(PID)
247: CONO PI,1B24+1⊗(7-CLKCHN)
248: SETOM DSFLAG(PID)
249: CONSZ APR,@APRIN1(PID)
250:
251: JRST APRER
252: CONO APR,1B26+APRCHN
253: PBRET: JUMPN PID,P2RET
254: P1RET: EXCH PID,APRID+P1PID
255: JEN @APRCHL
256:
257: P2RET: EXCH PID,APRID+P2PID
258: JEN @AP2CHL
259:
CLKSER page# 0005 next prev
261:
262:
263:
264:
265:
266:
267:
268: BREAK: MOVEM TAC,BRKTAC
269: MOVEM AC1,BRKAC1
270: HRRZ TAC,APRCHL
271: SUBI TAC,1
272: SKIPLE AC1,BRKNUM
273: CAILE AC1,BRKMAX
274: JRST BRKERR
275: CAME TAC,BRKTAB-1(AC1)
276: SOJG AC1,.-1
277: JUMPGE AC1,BRKXIT
278: BRKHIT:
279: REPEAT 10,<JFCL>
280: ↑BRKXIT:
281: MOVE TAC,BRKTAC
282: MOVE AC1,BRKAC1
283: CONO APR,ADRBRK
284: JRST BREAKX
285:
286: BRKERR: EXCH P,APRPDL(PID)
287: PUSHACS
288: CAIG AC1,BRKMAX
289: JUMPGE AC1,BRKER1
290: PUSHJ P,DISMES
291: ASCIZ /ILLEGAL VALUE OF BRKNUM = /
292: HRRZ TAC,BRKNUM
293: PUSHJ P,DISLOC
294: PUSHJ P,DISCRLF
295: SETZM BRKNUM
296: BRKER1: PUSHJ P,DISMES
297: ASCIZ /ADDRESS BREAK, PC=/
298: MOVE TAC,APRCHL
299: PUSHJ P,DISLOC
300: PUSHJ P,DISCRLF
301: POPACS
302: EXCH P,APRPDL(PID)
303: JRST BRKXIT
CLKSER page# 0006 next prev
305:
306:
307: APRER:
308: EXCH TAC,@APRCH(PID)
309: CONSZ APR,ILM
310: JRST APRMPV
311: TLNN TAC,USRMOD
312: JRST APRER2
313: APRER1: CONSO PI,7000
314: SKIPN SPWUUF(PID)
315: JRST APRER6
316: EXCH TAC,@APRCH(PID)
317: JUMPE PID,APRSWP
318: EXCH PID,APRID+P2PID
319: JRST SP2INT
320:
321: APRSWP: EXCH PID,APRID+P1PID
322: JRST SPWINT
323:
324: APRER6: SKIPN INTACT(PID)
325: CONSO APR,@APRIN1(PID)
326: JRST APRER2
327: EXCH JDAT,JOBDAT(PID)
328:
329:
330:
331: CONSZ APR,ILM
332: TLNE TAC,20000
333: JRST APRE6A
334: HRRI TAC,-1(TAC)
335:
336: APRE6A: CONSO APR,@APRIN2(PID)
337: JRST APRER7
338:
CLKSER page# 0007 next prev
340:
341:
342: MOVEM TAC,APRIN3(PID)
343: EXCH J,JOB(PID)
344: CONI APR,TAC
345: AND TAC,APRIN2(PID)
346: EXCH P,APRPDL(PID)
347: IORM TAC,JBTIRQ(J)
348: EXCH P,APRPDL(PID)
349: SETOM INTREQ(PID)
350: EXCH J,JOB(PID)
351:
352:
353: MOVE TAC,[JRST JOBTM5]
354: MOVEM TAC,JOBTM5(JDAT)
355: MOVE TAC,[XWD USRMOD,JOBTM5]
356: EXCH JDAT,JOBDAT(PID)
357: HLLOS CLKFLG(PID)
358: CONO PI,1B24+1⊗(7-CLKCHN)
359: JRST APRER3
360:
361:
362: APRER7: MOVEM TAC,JOBTPC(JDAT)
363: HRRZ TAC,JOBAPR(JDAT)
364: CAIGE TAC,JOBPFI
365: JRST APRER5
366: MOVEM TAC,APRTAC(PID)
367: HRRZ TAC,JOBTPC(JDAT)
368: CAMN TAC,APRTAC(PID)
369: JRST APRER5
370: ADDI TAC,1
371: CAMN TAC,APRTAC(PID)
372: JRST APRER5
373: CONI APR,JOBCNI(JDAT)
374: HLL TAC,JOBTPC(JDAT)
375: TLO TAC,USRMOD
376:
377: HRR TAC,JOBAPR(JDAT)
378: EXCH JDAT,JOBDAT(PID)
379: APRER3: TLZ TAC,440000
380:
381: EXCH TAC,@APRCH(PID)
382: CONO APR,530110+APRCHN
383:
384: JUMPN PID,P2RET
385: JRST P1RET
386:
387: APRMPV:
388:
389: CONO APR,400000!APRCHN
390: TLNE TAC,USRMOD
391: JRST APRER1
392: CONSO PI,67400
393: JRST APRMP1
394: CONSZ PI,00400
395: SKIPN SPWUUF(PID)
396: JRST APRER6
397: APRMP1: HRRI TAC,UADERR
398: JRST APRER3
CLKSER page# 0008 next prev
400:
401:
402: APRER5: MOVE TAC,JOBTPC(JDAT)
403: EXCH JDAT,JOBDAT(PID)
404: SETZM APRIN1(PID)
405: APRER2: CONSO APR,MAOFF
406: CONSO APR,200
407: JRST APRERA
408: CONO APR,500!APRCHN
409: EXCH P,APRPDL+P2PID
410: PUSHACS
411: PUSH P,TAC
412: PUSHJ P,DISMES
413: ASCIZ/UNEXPECTED PC CHANGE TRAP. PC=/
414: POP P,TAC
415: PUSHJ P,DISOCT
416: PUSHJ P,DISCRLF
417: POPACS
418: HLLZS APRIN1+P2PID
419: EXCH P,APRPDL+P2PID
420: APRERA: CONSZ APR,630000
421: JRST APRERB
422: CONSO APR,1B26
423: JRST APRER9
424: MOVEM TAC,APRTAC(PID)
425: MOVE TAC,APRIN1(PID)
426: TRNE TAC,1B26
427: CONO APR,1B26+APRCHN
428: MOVE TAC,APRTAC(PID)
429: APRER9: CONSO APR,110
430: JRST APRER3
431: MOVEM TAC,APRTAC(PID)
432: MOVE TAC,APRIN1(PID)
433: TRNN TAC,10
434: CONO APR,40!APRCHN
435: TRNN TAC,100
436: CONO APR,400!APRCHN
437: MOVE TAC,APRTAC(PID)
438: JRST APRER3
CLKSER page# 0009 next prev
440:
441:
442: APRERB: MOVEM TAC,APRPC(PID)
443: CONI APR,APRERR(PID)
444:
445: HLLOS CLKFLG(PID)
446: SETOM SCHEDF(PID)
447:
448: CONO PI,1B24+1⊗(7-CLKCHN)
449: CONSO APR,ILM
450: JRST APRERC
451: MOVEM TAC,USAVPC(PID)
452: HRRI TAC,0
453: JRST APRER4
454: APRERC: TLNN TAC,USRMOD
455: CONSO PI,177B27≠(1B27⊗(7-APRCHN))
456: CAIA
457: JRST APRMES
458: ↑APRER4:CONSO APR,NXM
459: JRST APRER3
460: MOVEI TAC,(TAC)
461: CAML TAC,RMEMSIZ
462: MOVEI TAC,[CONO PI,1B24!1⊗(7-CLKCHN)]
463:
464: HLL TAC,APRPC(PID)
465: JRST APRER3
CLKSER page# 0010 next prev
467:
468:
469: APRMES: EXCH P,APRPDL(PID)
470: PUSHACS
471: PUSH P,TAC
472: PUSHJ P,DISDATE
473: PUSHJ P,DISMES
474: ASCIZ /CH3 ERROR IN EXEC. PC = /
475: POP P,TAC
476: PUSHJ P,DISOCT
477: PUSHJ P,DISMES
478: ASCIZ /
479: APR CONI = /
480: MOVE TAC,APRERR(PID)
481: PUSHJ P,DISOCT
482: PUSHJ P,DISCRLF
483: PUSHJ P,SYSFIX
484: JFCL
485: CAIA
486: JRST MONOK
487: PUSHJ P,ALTNOW
488: JFCL
489: PUSHJ P,DISFLU
490: PUSHJ P,DDTCALL
491: JRST MONOK1
492: MONOK: DEBCHECK
493: MONOK1: SKIPE DISFLAG
494: JRST APREM1
495: POPACS
496: EXCH P,APRPDL(PID)
497: JRST APRER4
498:
499: APREM1: PUSHJ P,DISMES
500: ASCIZ /RELOAD OR FIND A WIZARD.
501: /
502: PUSHJ P,DISFLUSH
503: POPACS
504: HALT AUTOLOAD
CLKSER page# 0011 next prev
506:
507: REPEAT 0,<
508: CLBFIX: CONO APR,CLRCLB+APRCHN ;CLEAR IT SO WE DON'T GET BACK HERE AGAIN
509: EXCH P,APRPDL(PID)
510: PUSHACS ;GET SOME ACS
511: PUSHJ P,DISDATE
512: PUSHJ P,DISERR
513: [ASCIZ/π⊗⊗ππSYSTEM CLOBBERED
514: PC+1 = /]
515: DISARG OCT,<@APRCH(PID)>
516: [ASCIZ/ /]
517: -1
518: MOVE TAC,@APRCH(PID)
519: TLNE TAC,USRMOD
520: JRST USRCLB
521: PUSHJ P,DISMES
522: ASCIZ/PI = /
523: CONI PI,TAC
524: PUSHJ P,DISLOC
525: PUSHJ P,DISERR
526: [ASCIZ/
527: C(P) = /]
528: DISARG OCT,<APRPDL(PID)>
529: [ASCIZ/
530: /]
531: -1
532: CLBFX1: PUSHJ P,SYSFIX
533: JFCL
534: JFCL
535: SKIPN DEBMODE
536: JRST CLBRET
537: SETOM DISFLAG
538: PUSHJ P,DISFLUSH
539: POPACS
540: PUSHJ P,DDTCAL
541: JRST CLBRT1
542: CLBRET: POPACS
543: CLBRT1: EXCH P,APRPDL(PID)
544: JRST PBRET
545:
546: USRCLB: MOVE J,JOB(PID)
547: PUSHJ P,DISJOB
548: CONI PI,TAC
549: TRNN TAC,400
550: JRST USRCL1
551: PUSHJ P,DISMES
552: ASCIZ / SPCWAR/
553: USRCL1: PUSHJ P,DISCRLF
554: JRST CLBFX1
555: >
CLKSER page# 0012 next prev
557: SUBTTL CLOCK 24 JULY 67
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
CLKSER page# 0013 next prev
582:
583:
584: ↑CLKIN0:EXCH 17,UUO0+P1PID
585: MOVEM 17,CLKCHL
586: EXCH 17,UUO0+P1PID
587: ↑CLKINT:SETZM CLKFLG+P1PID
588: MOVEM 17,CLKS17+P1PID
589: IFN FTHG, < MOVEI 17,7
590: MOVEM 17,HGCODE >
591: MOVEI 17,P1PID
592: SKIPLE INTDISP(17)
593: JRST @INTDISP(17)
594: IFN FTHG,< SETZM HGCODE >
595: SKIPN 17,USAVPC
596: MOVE 17,CLKCHL
597: TLNN 17,USRMOD
598: SKIPE SCHEDF+P1PID
599: JRST CLKIN1
600: MOVEI 17,P1PID
601: SKIPE INTREQ(17)
602: JRST INTNOW
603: CLKINX: MOVE 17,[CONO PI,PIOFF]
604: MOVEM 17,UUOXIT+P1PID
605: MOVE 17,CLKS17+P1PID
606: JEN @CLKCHL
607:
608: CLKIN1: DATAO PI,[0]
609: MOVEM 17,USRPC+P1PID
610: SETZM USAVPC+P1PID
611: MOVEI 17,P1PID
612: JRST CLKERR
CLKSER page# 0014 next prev
614:
615:
616: ↑CL2IN0:EXCH 17,UUO0+P2PID
617: MOVEM 17,CL2CHL
618: EXCH 17,UUO0+P2PID
619: ↑CL2INT:SETZM CLKFLG+P2PID
620: MOVEM 17,CLKS17+P2PID
621: MOVE 17,[P2PID]
622: SKIPLE INTDISP(17)
623: JRST @INTDISP(17)
624: SKIPN 17,USAVPC+P2PID
625: MOVE 17,CL2CHL
626: TLNN 17,USRMOD
627: SKIPE SCHEDF+P2PID
628: JRST CL2IN1
629: MOVE 17,[P2PID]
630: SKIPE INTREQ(17)
631: JRST INTNOW
632: CL2INX: MOVE 17,[CONO PI,PIOFF]
633: MOVEM 17,UUOXIT+P2PID
634: MOVE 17,CLKS17+P2PID
635: JEN @CL2CHL
636:
637: CL2IN1: MOVEM 17,USRPC+P2PID
638: SETZM USAVPC+P2PID
639: MOVE 17,[P2PID]
640: JRST CLKERR
CLKSER page# 0015 next prev
642:
643:
644:
645: INTNOW: REPEAT 0,< ;LET'S SEE IF ANYBODY REALLY NEEDS THIS SHIT
646:
647: INTNOW: MOVEM 16,INTSAC+16(17) ; SAVE ACS IN SPECIAL PLACE,
648: ; BECAUSE JOB MIGHT BE IN TRANSIT
649: HRRZ 16,@CLKCH(17)
650: CAIL 16,USRXT0
651: CAIL 16,USRXT5
652: SKIPE INTHLD(17)
653: JRST INTNW2 ;IN USRXIT CODE - COME BACK LATER
654: MOVEI 16,INTSAC(17)
655: BLT 16,INTSAC+15(17)
656: MOVE PID,17
657: MOVE TAC,CLKS17(PID)
658: MOVEM TAC,INTSAC+17(PID)
659: SKIPN TAC,USAVPC(PID)
660: MOVE TAC,@CLKCH(PID) ; SAVE PC
661: SETZM USAVPC(PID)
662: MOVEM TAC,USRPC(PID)
663: HRLI P,-CLKPLN ;LENGTH OF PDL
664: HRRI P,CLKPDL-1(PID)
665: SETOM INTNF(PID)
666: PUSHJ P,INTRUN
667: SETZM INTNF(PID)
668: HRLZI 17,INTSAC(PID)
669: JUMPE PID,CLKBLT
670: BLT 17,17
671: JEN @USRPC+P2PID
672: CLKBLT: BLT 17,17
673: JEN @USRPC+P1PID
674:
675: INTNW2: MOVE 16,INTSAC+16(17)
676: >
677: JUMPE 17,CLKINX
678: JRST CL2INX
679:
680: CLKERR: JSR @CLKSV(17)
681: HRLI P,-CLKPLN
682: HRRI P,CLKPDL-1(PID)
683: MOVE TAC,UUOXI(PID)
684: MOVEM TAC,UUOXIT(PID)
685: CIP9:
686: SKIPE TAC,APRERR(PID)
687: PUSHJ PDP,APRILM
688: SKIPE INTREQ(PID)
689: PUSHJ P,INTRUN
690: JUMPN PID,RSCHED
691: SKIPE SPWGO
692: PUSHJ P,SPWCHK
693: SKIPE SP2GO
694: PUSHJ P,SP2CHK
695: JRST RSCHED
696:
697: SPWCHK: SKIPA TAC1,[,SPWGO(J)]
698: SP2CHK: MOVE TAC1,[,SP2GO(J)]
699: SETZ J,
700: MOVSI TAC,SPWERB
701: LDB J,[POINT 6,@TAC1,5]
702: TDNN TAC,JBTST2(J)
703: JUMPN J,.-2
704: JUMPE J,CPOPJ
705: JRST SPWMES
CLKSER page# 0016 next prev
707:
708:
709: RSCHED: CONO PI,APROFF
710: SKIPN TIMEFF(PID)
711: JRST CIP6
712: SETZM TIMEFF(PID)
713: CONO PI,APRON
714: SETOM TIMEF(PID)
715: MOVE TAC,OTHERID(PID)
716: SOS PALIVE(TAC)
717: MOVEI TAC,30
718: MOVEM TAC,PALIVE(PID)
719:
720: JUMPN PID,MIDCHK
721: SOSLE T15CNT
722: JRST SECCHK
723:
724: MOVEI TAC1,=15
725: MOVEM TAC1,T15CNT
726: PUSHJ P,ASSCN
727: SECCHK: SOSLE DKBCNT
728: JRST MIDCHK
729:
730: MOVEI TAC1,=60
731: MOVEM TAC1,DKBCNT
732: MOVE TAC,TIME
733: IDIVI TAC,=60
734: HRL TAC,THSDAT
735: MOVEM TAC,TIMDAT
736:
737:
738: CONSZ PTP,200
739: JRST DDSTAT
740: PUSHACS
741: PUSHJ P,DISDATE
742: PUSHJ P,DISMES
743: ASCIZ /πππTURN NXM STOP ON!
744: /
745: CONO PI,PIOFF
746: PUSHJ P,DISFLUSH
747: CONSO PTP,200
748: JRST .-1
749: CONO PI,PION
750: POPACS
751: DDSTAT:
752: IFN FTDDSTAT,<
753: SOSLE NDSTAT ;TIME FOR DD STATISTICS?
754: JRST SCNPIC ;NO. CHECK THE SCANNER NEXT
755: MOVEI TAC,5 ;HERE EVERY 5 SECONDS
756: MOVEM TAC,NDSTAT
757:
758: MOVE TAC,NDDXCT ;GET NEW COUNT
759: EXCH TAC,NDDXOL ;STORE AS OLD COUNT
760: SUB TAC,NDDXOL ;OLD COUNT - NEW COUNT. RESULT NEGATIVE
761: MOVN TAC,TAC
762: CAMLE TAC,NDDXMX ;BIGGER THAN OLD MAX?
763: MOVEM TAC,NDDXMX ;YES. STORE NEW MAX.
764:
765: MOVE TAC,NDDLCT ;GET NEW COUNT
766: EXCH TAC,NDDLOL ;STORE AS OLD COUNT
767: SUB TAC,NDDLOL ;OLD-NEW. RESULT IS POSITIVE.
768: CAMLE TAC,NDDLMX ;BIGGER THAN OLD MAXIMUM?
769: MOVEM TAC,NDDLMX ;YES. STORE NEW MAX.
770: >
771:
772: SCNPIC: CONI DKB,TAC1
773: ANDI TAC1,7
774: CAIN TAC1,SCNCHN
775: JRST MIDCHK
776: CONO DKB,10!SCNCHN
777: PUSHACS
778: PUSHJ P,DISDATE
779: PUSHJ P,DISMES
780: ASCIZ /SCANNER LOST PI CHANNEL AGAIN!
781: /
782: POPACS
783: MIDCHK:
784:
785:
786:
787: CONO PI,APROFF
788: MOVE TAC1,TIME(PID)
789: CAMGE TAC1,MIDNIT
790: JRST CIP2
791: SUB TAC1,MIDNIT
792: MOVEM TAC1,TIME(PID)
793: CONO PI,APRON
794: CIP3: MOVEI IOS,0
795: AOS TAC,THSDAT(PID)
796: IDIVI TAC,=31
797: DIVI IOS,=12
798: LDB IOS,PMONTB
799: CAMGE IOS,TAC1
800: JRST CIP3
801:
802:
803:
804:
805:
806:
807: CIP2: CONO PI,APRON
808: JUMPN PID,CIPZZ1
809: HGMAC (21)
810: SOSLE FSCKCT
811: SKIPE FSNCLK
812: PUSHJ P,FSCLK
813: SKIPLE SPFSNT
814: PUSHJ P,SFSCLK
815: IFG DPYNUM,<
816: PUSHJ PDP,DPYCLK
817: IFN IMPSW,< HGMAC (23)
818: PUSHJ P,IMPCLK>
819: HGMAC (14)
820: JUMPE PID,CIPZZ1
821: PUSHJ P,DISMES
822: ASCIZ /πPID CLOBBERED BY DPYCLK OR TTYCLK
823: /
824: MOVEI PID,P1PID
825: >
826: CIPZZ1: HGMAC (0)
CLKSER page# 0017 next prev
828:
829:
830:
831: JUMPE PID,JLCALC
832: PUSHJ P,JLCAL
833: PUSHJ P,SPWP2
834: PUSHJ P,WHOSER
835: PUSHJ P,PTRP2
836: PUSHJ P,PTPP2
837: PUSHJ P,ADP2
838: SOSG XGPP2F
839: PUSHJ P,XGPP2
840: SKIPE ADCP2L
841: PUSHJ P,ADCP2
842: SKIPE DACP2L
843: PUSHJ P,DACP2
844:
845: IFN 0,<
846: SKIPL AC2,NULDAT+P2PID+JOBDAC+10
847: TDNN AC2,[140000,,140000]
848: JRST NULOK
849: PUSHJ P,DISMES
850: ASCIZ /100000 BIT PICKED: /
851: TLNN AC2,140000
852: JRST NULLOK
853: PUSHJ P,DISMES
854: ASCIZ /LEFT /
855: JRST NULROK
856: NULLOK: PUSHJ P,DISMES
857: ASCIZ /RIGHT /
858: NULROK: SETZM NULDAT+P2PID+JOBDAC+10
859: PUSHJ P,DISMES
860: ASCIZ /HALF.
861: /
862: >
863:
864: NULOK: SOSL CRKYET
865: JRST CRKT4
866: MOVEI TAC,=3600*5
867: MOVEM TAC,CRKYET
868: MOVEI TAC1,5
869: PUSHJ PDP,DAT2
870: JRST CRKT4
871: MOVEM ITEM,CRKTIM
872: MOVEM DAT,CRKDAT
873: JRST CRKT4
874:
875: JLCALC: HGMAC (16)
876: MOVE TAC,OTHERID(PID)
877: SKIPE P2NUM
878: SKIPGE PALIVE(TAC)
879: PUSHJ P,JLCAL
880: JORD: SKIPE ORDYET
881: PUSHJ P,ORDER
CLKSER page# 0018 next prev
883:
884:
885: IFN FTBAT,<
886: SOSLE BATYET
887: JRST BAT3A
888: HGMAC (0)
889: MOVEI TAC,=60*JIFSEC
890: MOVEM TAC,BATYET
891: SKIPE MAINTM
892: JRST BAT3A
893: MOVSI TAC,-BATLEN
894: BATLOP: MOVEM TAC,BATPNT
895: SKIPE AC1,BATMAN(TAC)
896: SKIPN AC3,ROBIN(TAC)
897: JRST BAT3
898: SKIPGE J,ALFRED(TAC)
899: JRST BAT3
900: JUMPE J,BAT0
901: MOVE TAC,TIME
902: IDIVI TAC,=60*JIFSEC
903: HRL TAC,THSDAT
904: CAMGE TAC,ITEM
905: JRST BAT3
906: HRRZ TAC,BATPNT
907: SETZM ALFRED(TAC)
908: BAT0: MOVEI J,JOBN-1
909: MOVSI TAC,JNA
910: BAT1: TDNN TAC,JBTSTS(J)
911: JRST BAT2
912: CAMN AC1,JOBNAM(J)
913: CAME AC3,PRJPRG(J)
914: JRST BAT2
915: SKIPL AC2,JBTSTS(J)
916: TLNE AC2,JLOG
917: JRST BAT3
918:
919:
920: JRST BAT3
921:
922: BAT2: SOJG J,BAT1
923: PUSHJ P,INIJOB
924: JRST BAT3A
925: JRST BAT3B
926:
927: BAT4: PUSHJ P,GETBAT
928: BAT3: MOVE TAC,BATPNT
929: AOBJN TAC,BATLOP
930: JRST BAT3A
931: BAT3B: MOVEI TAC,=60
932: MOVEM TAC,BATYET
933: BAT3A:
934: >
CLKSER page# 0019 next prev
936:
937:
938: HGMAC(0)
939: CONI TV,SPWBUT
940: SKIPE SPWGO
941: PUSHJ P,SPWP1
942: MOVE TAC,OTHERID(PID)
943: SKIPGE PALIVE(TAC)
944: PUSHJ P,WHOSER
945: SKIPN P2NUM
946: JRST CRKT2
947:
948: SKIPE PARFLG
949: PUSHJ P,PARCLK
950:
951: CRKT3: MOVE ITEM,CRKTIM
952: SKIPN DAT,CRKDAT
953: JRST CRKT1
954: MOVEM ITEM,TIME(PID)
955: MOVEM DAT,THSDAT(PID)
956: SETZM CRKDAT
957:
958: CRKT1: SKIPE PTRADV
959: PUSHJ P,PTRP1
960:
961: SKIPE PTPSID
962: PUSHJ P,PTPP1
963:
964: SKIPLE ADADV
965: PUSHJ P,ADP1
966:
967: SKIPE XGPP1F
968: PUSHJ P,XGPP1
969:
970: SKIPE ADCP1L
971: PUSHJ P,ADCP1
972:
973: SKIPE DACP1L
974: PUSHJ P,DACP1
975:
976: REPEAT 0,< ;ABOUT TIME THIS CROCK WAS FLUSHED
977: HGMAC(20) ;HGCODE FOR SCHCLK, REPLACED BY THE FOLLOWING:
978: SKIPGE J,JBTQ-DIOWQ ;ANYONE IN QUEUE?
979: JRST CRKT2 ;NOPE.
980: AOS JBTRNB(J) ;COUNT TIME (WHAT A CROCK!)
981: HRRE J,JBTQ(J) ;GET NEXT GUY IN Q.
982: JUMPGE J,.-2 ;JUMP IF REAL JOB THERE.
983: >
984: JRST CRKT2
CLKSER page# 0020 next prev
986:
987:
988: IFN FTBAT,<
989: ↑GETBT0:
990: MOVE J,TAC
991: JRST GETBTX
992:
993: GETBAT:
994: SKIPE MAINTMODE
995: POPJ P,
996: MOVE TAC,BATPNT
997: MOVE TAC,GORDON(TAC)
998: MOVEM TAC,JBTPRV(J)
999: MOVEM TAC,JB2PRV(J)
1000: MOVEM AC3,PRJPRG(J)
1001: MOVEM AC3,JOBPPN(J)
1002: MOVEM AC1,JOBNAM(J)
1003: IFN FTSTAT,<PUSHJ P,NAMSTT>
1004: MOVSI TAC,JNA
1005: ORM TAC,JBTSTS(J)
1006: GETBTX: MOVSI TAC,'DSK'
1007: MOVEM TAC,JOBDEV(J)
1008: MOVSI TAC,'DMP'
1009: MOVEM TAC,JOBLOG(J)
1010: SETZM JOBCRD(J)
1011: SETZM JBTUFD(J)
1012: IFN FTDSKPPN,<SETZM DSKPPN(J)
1013: SETZM JBTKCJ(J)
1014: MOVSI TAC,JLOG
1015: ANDCAM TAC,JBTSTS(J)
1016: HLLZS SAVSAI(J)
1017: GETBT1: SETOM TAC1
1018: PUSHJ P,DDBSRC
1019: JRST DELBTT
1020: GETBT2: SETZ PROG,
1021: MOVEI TAC,JOBDA
1022: PUSHJ P,CORE0
1023: JRST DELBAT
1024: GETBT3: MOVSI TAC,SWP!SHF
1025: SKIPN XJOB(J)
1026: TDNE TAC,JBTSTS(J)
1027: JRST BATSWP
1028: ↑BATSW:
1029: PUSHJ P,SETLOG
1030: MOVE TAC,JOBNAM(J)
1031: MOVEM TAC,FILNAM(PROG)
1032: MOVE TAC,JOBDEV(J)
1033: MOVEM TAC,DEVWRD(PROG)
1034: HLLZ TAC,JOBLOG(J)
1035: MOVEM TAC,FILEXT(PROG)
1036: SKIPN TAC,JOBCRD(J)
1037: JRST .+3
1038: LSH TAC,12
1039: SUBI TAC,1
1040: MOVEM TAC,JOBCOR(PROG)
1041: HRRZ TAC,JOBLOG(J)
1042: MOVEM TAC,INCWRD(JDAT)
1043: MOVEI TAC1,PRUNJB
1044: JRST MONJOB
CLKSER page# 0021 next prev
1046:
1047:
1048: DELBAT: LSH J,=12
1049: ADD J,[XWD BATRS,1]
1050: DELB1: CONO PI,PIOFF
1051: IDPB J,CLOCK(PID)
1052: CONO PI,PION
1053: POPJ P,
1054:
1055: BATRS: MOVE J,TAC
1056: JRST GETBT2
1057:
1058: DELBTT: LSH J,=12
1059: ADD J,[XWD BATTT,1]
1060: JRST DELB1
1061:
1062: BATTT: MOVE J,TAC
1063: JRST GETBT1
1064:
1065: BATSWP: MOVSI TAC,BATSNB
1066: JRST SETSIN
1067:
1068:
1069:
1070:
1071:
1072: >
CLKSER page# 0022 next prev
1074:
1075:
1076: CRKT2: HGMAC(0)
1077: MOVE TAC,DISPTR
1078: CAME TAC,DISOPT
1079: PUSHJ P,DISOUT
1080:
1081:
1082:
1083: CRKT4: HGMAC (17)
1084: HRRZ DAT,CLOCK(PID)
1085: CIP4: CAIG DAT,CIPWT-1(PID)
1086: JRST CIP5
1087: SOS TAC1, (DAT)
1088: TRNE TAC1, 7777
1089: SOJA DAT, CIP4
1090: CONO PI, PIOFF
1091: MOVE TAC, @CLOCK(PID)
1092: SOS CLOCK(PID)
1093: MOVEM TAC, (DAT)
1094: CONO PI,PION
1095: LDB TAC, [POINT 6, TAC1, 23]
1096:
1097: HLRZS TAC1
1098: CAMG TAC1,SYSTOP
1099: JRST CIP5AA
1100: PUSH P,DAT
1101: PUSHJ P,ALTNOW
1102: JFCL
1103: PUSHJ P,DISDATE
1104: PUSHJ P,DISMES
1105: ASCIZ /ππCLOCK REQUEST WITH ILLEGAL ADDRESS
1106: /
1107: POP P,DAT
1108: SKIPN DISFLAG
1109: JRST CIP5A
1110: PUSHJ P,DISFLUSH
1111: JRST AUTOLOAD
1112:
1113: CIP5AA: PUSH PDP, DAT
1114: IFN FTHG, <PUSH P,HGCODE
1115: HGMAC(22) >
1116: PUSHJ PDP, (TAC1)
1117: IFN FTHG, <POP P,HGCODE >
1118: POP PDP, DAT
1119: CIP5A: SOJA DAT, CIP4
CLKSER page# 0023 next prev
1121:
1122:
1123: CIP5: JUMPN PID,CIP6A
1124: IFN FTSHF1K,<
1125: HGMAC (13)
1126: SKIPN TAC,SHFTAC ;ANY SHUFFLING TO DO?
1127: JRST CIP11 ;NO.
1128: MOVE ITEM,SHFJOB ;LOAD NUMBER OF JOB TO BE MOVED
1129: HRRZ TAC1,TAC ;YES. DO 1K OF IT.
1130: CAML TAC1,SHFEND ;ARE WE DONE?
1131: JRST CIP12 ;YES.
1132: BLT TAC,1777(TAC1) ;MOVE THAT CORE.
1133: MOVE TAC,[XWD 2000,2000]
1134: ADDM TAC,SHFTAC ;UPDATE SHFTAC
1135: HRRZ TAC,SHFTAC ;WAS THAT THE LAST?
1136: CAMGE TAC,SHFEND
1137: JRST CIP11
1138: CIP12: PUSHJ P,NOTSH1 ; FINISHED. MARK IT DONE.
1139: PUSHJ P,SHFDONE
1140: >
1141:
1142: CIP11: HGMAC(11)
1143: SOSG HNGTIM
1144: PUSHJ PDP,DEVCHK
1145: CIP6: CONO PI,APRON
1146: HGMAC(1)
1147: SKIPE COMCNT
1148: PUSHJ PDP,COMMAND
1149: HGMAC(6)
1150: CIP6A: PUSHJ PDP,NXTJOB
1151: HGMAC(15)
1152: SETZM SCHEDF(PID)
1153: SETZM TIMEF(PID)
1154: JUMPN J,CLKSRJ
1155: JUMPN PID,CLKSRJ
1156: MOVE AC1,[XWD -RUNQ,-RUNQ]
1157: MOVE AC2,[XWD -TQ,-TQ]
1158: CAMN AC1,JBTQ-RUNQ
1159: CAME AC2,JBTQ-TQ
1160: AOS NJRNULLS
1161: CLKSRJ: MOVEI TAC1,1
1162: SETZ TAC,
1163: LSHC TAC,(J)
1164: ORM TAC,JBSRUN
1165: ORM TAC1,JBSRUN+1
1166:
1167: CAMN ITEM,JOB(PID)
1168: JRST CIP8
1169: SKIPE ITEM
1170: AOS NJSWITCHES
CLKSER page# 0024 next prev
1172:
1173:
1174: MOVE JDAT,JOB(PID)
1175: MOVE TAC,TIMDAT
1176: MOVEM TAC,FTIME(JDAT)
1177:
1178: SKIPE JDAT,JOBDAT(PID)
1179: PUSHJ P,S2U
1180: ↑NULJOB:
1181: CIP7: MOVEM ITEM,JOB(PID)
1182: MOVE PROG,JBTADR(ITEM)
1183: MOVEM PROG,JOBADR(PID)
1184: IFN JDMPRG,<
1185: MOVE JDAT,JBTDAT(ITEM)
1186: MOVEM JDAT,JOBDAT(PID)
1187: >
1188: CONO APR,550+APRCHN
1189: HLLZS APRIN1(PID)
1190: SETZM APRIN3(PID)
1191: JUMPE ITEM,NULJB
1192: HLRZM PROG,USRREL(PID)
1193: HLRZM PROG,JOBREL(JDAT)
1194: PUSHJ P,U2S
1195: MOVE TAC,JBTIEN(J)
1196: ANDI TAC,CPUMSK
1197: MOVEM TAC,APRIN2(PID)
1198: IOR TAC,JOBENB(JDAT)
1199: ANDI TAC,CPUMSK!1000
1200: HRRM TAC,APRIN1(PID)
1201: XORI TAC,110
1202:
1203: ADDI TAC,330
1204:
1205: ANDI TAC,660
1206: CONO APR,APRCHN(TAC)
1207: JRST CIP8
CLKSER page# 0025 next prev
1209:
1210: S2U: MOVEI TAC,JOBPRT(JDAT)
1211: HRLI TAC,USRPRT(PID)
1212: SKIPL TAC1,USRHCU(PID)
1213: JRST CIP14
1214: SUBI JDAT,2
1215: JRST CIP13
1216: CIP14: CAILE TAC1,17
1217:
1218: MOVEI TAC1,17
1219:
1220: ADD JDAT,TAC1
1221: CIP13: BLT TAC,JOBJDA(JDAT)
1222:
1223: POPJ P,
1224:
1225: U2S: MOVEI TAC,USRPRT(PID)
1226: HRLI TAC,JOBPRT(JDAT)
1227: SKIPL TAC1,JOBHCU(JDAT)
1228: CAILE TAC1,17
1229:
1230: MOVEI TAC1,17
1231: BLT TAC,USRJDA(TAC1)
1232: POPJ P,
CLKSER page# 0026 next prev
1234:
1235:
1236: CIP8: JUMPE PID,CIP8A
1237: JUMPE ITEM,CIP8A
1238: PUSHACS
1239: PUSHJ P,DISMES
1240: ASCIZ /ππPDP-6 ATTEMPTING TO RUN JOB!
1241: /
1242: POPACS
1243: SETZB ITEM,JOB(PID)
1244: JRST NULJB
1245: CIP8A: PUSHJ P,GETPR
1246: DATAO APR,TAC
1247: IFN FTSWAP,<
1248: SETOM STIME(ITEM)
1249: LDB TAC,PSEGN
1250: MOVE TAC1,JBTSTS(TAC)
1251: TLNN TAC1,JWP
1252: SETOM STIME(TAC)
1253: >
1254: SKIPE JDAT,JBTDAT(ITEM)
1255: JRST CIP8B
1256: SKIPE NULBAD(PID)
1257: JRST NULJB
1258: MOVEI JDAT,NULDAT(PID)
1259: CIP8B: MOVE TAC,JOBD17(JDAT)
1260: MOVEM TAC,CLKS17(PID)
1261: MOVSI 17,JOBDAC(JDAT)
1262: JUMPE PID,CIP8C
1263: BLT 17,16
1264: MOVE 17,[P2PID]
1265: SKIPE APRERR(17)
1266: JRST CLKERR
1267: MOVE 17,CLKS17(17)
1268: JEN @USRPC+P2PID
1269: CIP8C: MOVN J,J
1270: MOVSI TAC,400000
1271: LSH TAC,(J)
1272: DATAO PI,TAC
1273: BLT 17,16
1274: MOVE 17,[P1PID]
1275: SKIPE APRERR(17)
1276: JRST CLKERR
1277: MOVE 17,CLKS17(17)
1278: JEN @USRPC+P1PID
1279:
1280: PMONTB: POINT 6,MONTAB(TAC),5
CLKSER page# 0027 next prev
1282:
1283:
1284:
1285: NULJB: SOSL CHKYET(PID)
1286: JRST NULJB1
1287: MOVEI TAC1,=1000
1288: MOVEM TAC1,CHKYET(PID)
1289: PUSHJ P,SYSFIX
1290: JRST NULJB1
1291: JFCL
1292: MOVE TAC,MONPTR
1293: PUSHJ P,CHECK
1294: MOVEM TAC1,MONSUM
1295: NULJB1: SETZM NULBAD(PID)
1296: JUMPN PID,NULSIX
1297: MOVSI 17,NULJ10
1298: BLT 17,NULL10
1299: JRST 11,1
1300: NULSIX: MOVSI 17,NULJ6
1301: BLT 17,NULL6
1302: JRST 11,1
1303:
1304: NULJ10: 0
1305: ROT 0,-1
1306: TLNN 0,200000
1307: TLC 0,400000
1308: MOVEI 10,70000
1309: SOJGE 10,5
1310: JRST 1
1311: NULL10←←.-NULJ10
1312:
1313: NULJ6: 0
1314: ROT 0,1
1315: TRNN 0,2
1316: TRC 0,1
1317: MOVEI 10,34000
1318: SOJGE 10,5
1319: XCT SIXRUN
1320: JRST 1
1321: NULL6←←.-NULJ6
CLKSER page# 0028 next prev
1323:
1324:
1325: ↑CHECK: MOVEI TAC1,0
1326: JCRY0 .+1
1327: ADD TAC1,(TAC)
1328: JCRY0 [AOJA TAC1,.+1]
1329: AOBJN TAC,.-2
1330: HLRZ TAC,TAC1
1331: HRRZS TAC1
1332: ADD TAC1,TAC
1333: TLZE TAC1,1
1334: ADDI TAC1,1
1335: POPJ PDP,
CLKSER page# 0029 next prev
1337: BEGIN SYSFIX
1338:
1339:
1340:
1341:
1342:
1343:
1344:
1345:
1346: ↑↑SYSFIX:
1347: PUSH P,TAC
1348: PUSH P,TAC1
1349: MOVE TAC,MONPTR
1350: PUSHJ P,CHECK
1351: CAME TAC1,MONSUM
1352: JRST NOTOK
1353: POP P,TAC1
1354: POP P,TAC
1355: POPJ P,
1356:
1357: NOTOK: POP P,TAC1
1358: POP P,TAC
1359: ↑↑SYSCHK:
1360: PUSHACS
1361: PUSHJ P,DISMES
1362: ASCIZ /⊗π⊗π⊗π⊗MONITOR CHECKSUM FAILURE.
1363: /
1364: JUMPN PID,SIXFIX
1365: CONSO DSK,1B27
1366: SKIPN SYSTHERE
1367: JRST NOFIX
1368: JRST GOFIX
1369:
1370: SIXFIX: SETZM CHKYET+P1PID
1371: NOFIX: POPACS
1372: JRST CPOPJ1
1373:
1374: GOFIX: SETOM ERRYET
1375: REPEAT 0,< ;12/1/73
1376: CONI APR,TAC ;THE REMEMBER STATE OF SYS REF KLUGE
1377: PUSH P,TAC ;THE ONLY WAY OUT GOES THRU FIXXIT
1378: DATAO PTR,[0] ;SHUT OFF THE SYS REF KLUGE.
1379: >
1380: CONSO IOP,777770
1381: JRST IOPOK
1382: MOVSI UUO,1
1383: CONSO IOP,IOPJDN!IOPANY
1384: SOJG UUO,.-1
1385: IOPOK: CONI IOP,IOPSAV#
1386: SKIPN UUO,MONPTR
1387: JRST FIXXIT
1388:
1389: HRRZ AC1,UUO
1390: LSH AC1,-5
1391: MOVEI AC2,37
1392: AND AC2,UUO
1393: SUBI AC2,FIXLEN
1394:
1395:
1396: DONXT: MOVEI AC3,40
1397: DOAGIN: CONO IOP,0
1398: CONO DSK,14000
1399: DATAO IOP,[XWD -FIXLEN,FIXBUF]
1400: PUSH P,AC1
1401: CAIL AC1,2300
1402: ADDI AC1,1B24-2300
1403: ADD AC1,SYSBAND
1404: DATAO DSK,AC1
1405: POP P,AC1
1406: CONSO IOP,IOPANY!IOPJDN
1407: JRST .-1
1408: CONSO IOP,IOPANY
1409: CONSZ DSK,3370
1410: SOJG AC3,DOAGIN
1411: JUMPLE AC3,FIXXIT
1412: CHKWRD: AOJG AC2,NXTCHK
1413: MOVE AC3,FIXBUF+FIXLEN-1(AC2)
1414: CAME AC3,(UUO)
1415: JRST PRNDIF
1416: STRDON: AOBJN UUO,CHKWRD
1417: AOSLE TAC,ERRYET
1418: JRST FIXXTB
1419: PUSHJ P,DISMES
1420: ASCIZ /NO ERRORS FOUND.
1421: /
1422: JRST FIXXIT
1423: FIXXTB: PUSHJ P,DISDCP
1424: PUSHJ P,DISMES
1425: ASCIZ / ERRORS DETECTED.
1426: /
1427: FIXXIT: MOVE UUO,IOPSAV
1428: TRNE UUO,IOPJDN
1429: TRO UUO,IOPMIS
1430: CONO IOP,(UUO)
1431: REPEAT 0,<
1432: POP P,TAC ;RESTORE STATE OF SYS WR REF KLUGE
1433: TRNE TAC,SWRENB ;WAS KLUGE ENABLED?
1434: DATAO PTR,[1] ;YES. IT WAS. TURN IT BACK ON.
1435: >
1436: POPACS
1437: JRST CPOPJ2
1438:
1439: PRNDIF: PUSHACS
1440: AOSLE TAC,ERRYET
1441: JRST PRNDF1
1442: PUSHJ P,DISMES
1443: ASCIZ /LOC CORE DISK
1444: /
1445: MOVEI TAC,0
1446: PRNDF1: CAIL TAC,10
1447: JRST PRNDF2
1448: MOVEI TAC,(UUO)
1449: PUSHJ P,DISLOC
1450: PUSHJ P,DISMES
1451: ASCIZ / /
1452: MOVE TAC,(UUO)
1453: PUSHJ P,DISOCT
1454: PUSHJ P,DISMES
1455: ASCIZ / /
1456: MOVE TAC,AC3
1457: PUSHJ P,DISOCT
1458: PUSHJ P,DISCRLF
1459: PRNDF2: POPACS
1460: MOVEM AC3,(UUO)
1461: JRST STRDON
1462:
1463: NXTCHK: ADDI AC1,FIXNUM
1464: MOVNI AC2,FIXLEN
1465: JRST DONXT
1466:
1467:
1468: BEND SYSFIX
1469: ↑SYSFIX←SYSFIX
CLKSER page# 0030 next prev
1471:
1472:
1473: ↑INTRUN:
1474: SETZM INTREQ(PID)
1475: SETZM AC1
1476: EXCH AC1,APRIN3(PID)
1477: JUMPE AC1,INTR6
1478: MOVEM AC1,USRPC(PID)
1479: INTR6: PUSH P,LASTPR(PID)
1480: PUSH P,USRSAV(PID)
1481: PUSH P,UUO0(PID)
1482: PUSH P,@UUOLOC(PID)
1483: IFN FTXCTR,<PUSH P,160
1484: PUSH P,@161>
1485: MOVE AC1,JOB(PID)
1486: MOVEM AC1,SJOB(PID)
1487: PUSH P,@CLKCH(PID)
1488: PUSH P,CLKS17(PID)
1489: PUSH P,JOBDAT(PID)
1490: PUSH P,USRREL(PID)
1491: PUSH P,SCHEDF(PID)
1492: PUSH P,APRPC(PID)
1493: PUSH P,APRERR(PID)
1494: PUSH P,APRIN1(PID)
1495: MOVEI AC1,1(P)
1496: HRLI AC1,USRPRT(PID)
1497: MOVEI AC2,(AC1)
1498: ADDI AC2,USRJDA+17-USRPRT
1499: BLT AC1,(AC2)
1500: ADD P,[XWD USRJDA+20-USRPRT,USRJDA+20-USRPRT]
1501: SETOM INTACT(PID)
1502: MOVEI J,JOBN-1
1503: INTR2: SKIPN AC1,JBTIRQ(J)
1504: INTR1: SOJG J,.-1
1505: JUMPE J,INTXIT
1506: PUSHJ P,GETINT
1507: JRST INTR1
1508: MOVE AC2,JBTSTS(J)
1509: TLNN AC1,INTSWW!INTSHW
1510: TLNN AC2,SWP!SHF
1511: SKIPN PROG,JBTADR(J)
1512: JRST INTSWAPIN
1513: LDB AC3,PSEGN
1514: JUMPE AC3,INTR11
1515: MOVE AC2,JBTSTS(AC3)
1516: TLNN AC1,INTSWW!INTSHW
1517: TLNN AC2,SWP!SHF
1518: SKIPN JBTADR(AC3)
1519: JRST INTSWS
1520: INTR11: SKIPE JBTIIP(J)
1521: JRST [ SETOM INTREQ(PID)
1522: JRST INTR1]
1523: INTR9: MOVE AC1,JBTIRQ(J)
1524: PUSHJ P,GETINT
1525: JRST INTR1
1526: JRST INTR7
CLKSER page# 0031 next prev
1528:
1529:
1530:
1531:
1532: GETINT: MOVSI AC2,INTWAIT
1533: TDNE AC2,JBTIEN(J)
1534: JRST GTINT1
1535: MOVEI AC3,
1536: INTR8: JFFO AC1,.+1
1537: MOVNS AC2
1538: MOVSI AC1,(1B0)
1539: LSH AC1,(AC2)
1540: TDNE AC1,JBTMSK(J)
1541: JRST CPOPJ1
1542: IORB AC1,AC3
1543: ANDCA AC1,JBTIRQ(J)
1544: JUMPE AC1,CPOPJ
1545: JRST INTR8
1546:
1547: GTINT1: TDNN AC2,AC1
1548: POPJ P,
1549: MOVE AC1,AC2
1550: JRST CPOPJ1
CLKSER page# 0032 next prev
1552:
1553:
1554:
1555: INTR7: TDNN AC1,JBTIRQ(J)
1556: JRST INTR9
1557: ANDCAM AC1,JBTIRQ(J)
1558: TDNN AC1,JBTIEN(J)
1559: JRST INTR2
1560: SKIPN JBTIIP(J)
1561: JRST INTR14
1562: IORM AC1,JBTIRQ(J)
1563: SETOM INTREQ(PID)
1564: JRST INTR2
1565: INTR14: IORM AC1,JBTIIP(J)
1566: HLRZ TAC,PROG
1567: SKIPN AC3,JOBINT(PROG)
1568: JRST INT14A
1569: ADDI AC3,2
1570: CAIL AC3,JOBPFI+2
1571: CAILE AC3,(TAC)
1572: JRST INTADC
1573: ADDI AC3,(PROG)
1574: SKIPA AC2,AC3
1575: INT14A: MOVEI AC2,JOBCNI+2(PROG)
1576: MOVEM AC1,-2(AC2)
1577: SKIPN AC2,AC3
1578: MOVEI AC2,JOBAPR(PROG)
1579: HRRZ AC2,(AC2)
1580: CAIL AC2,JOBPFI
1581: CAILE AC2,(TAC)
1582: CAIA
1583: JRST INTR10
1584: LDB AC1,PSEGN
1585: JUMPE AC1,INTADC
1586: HLRZ AC1,JBTADR(AC1)
1587: ADDI AC1,400000
1588: CAIL AC2,400000
1589: CAMLE AC2,AC1
1590: JRST INTADC
CLKSER page# 0033 next prev
1592:
1593:
1594: INTR10: PUSH P,UUOPC(J)
1595: MOVEM PROG,JOBDAT(PID)
1596: HLRZM PROG,USRREL(PID)
1597: MOVEM J,JOB(PID)
1598: CAME J,SJOB(PID)
1599: PUSHJ P,U2S
1600: SETZM APRERR(PID)
1601: SETZM APRPC(PID)
1602: SETZM APRIN1(PID)
1603: SETZM SCHEDF(PID)
1604: SETOM STIME(J)
1605: LDB AC1,PSEGN
1606: JUMPE AC1,INTR5
1607: MOVE AC2,JBTSTS(AC1)
1608: TLNN AC2,JWP
1609: SETOM STIME(AC1)
1610: INTR5: MOVNI AC1,10
1611: MOVEM AC1,INTQUANT(PID)
1612: MOVEI AC1,INTCH7
1613: MOVEM AC1,INTDISP(PID)
1614: MOVM AC1,JOBQUE(J)
1615: CAIE AC1,INTWQ
1616: JRST INTWRJ
1617: MOVE AC1,JBTIIP(J)
1618: TDNN AC1,JBTWKM(J)
1619: JRST INTWRJ
1620: MOVNI AC1,TQ
1621: MOVEM AC1,JOBQUE(J)
1622: PUSHJ P,REQUE
1623: INTWRJ: PUSHJ P,GETPR
1624: DATAO APR,TAC
1625: MOVEM P,INTSP(PID)
1626:
1627: MOVE AC2,JBTIIP(J)
1628: TLNN AC2,INTWAIT
1629:
1630: JRST INTR4
1631: ANDCAM AC2,JBTIEN(J)
1632: SKIPN AC2,AC3
1633: MOVEI AC2,JOBTPC+1(PROG)
1634: MOVE AC1,USRPC(PID)
1635: MOVEM AC1,-1(AC2)
1636: MOVSI 17,JOBDAC(PROG)
1637: MOVE AC1,JBTUPC(J)
1638: MOVEM AC1,UUO0(PID)
1639: JUMPE PID,INTR15
1640: BLT 17,17
1641: JRST 13,@UUO0+P2PID
1642: INTR15: BLT 17,17
1643: JRST 13,@UUO0+P1PID
CLKSER page# 0034 next prev
1645:
1646:
1647: INTR4: MOVSI AC1,JOBAC(PROG)
1648: HRRI AC1,INTACS(PID)
1649: BLT AC1,INTACS+17(PID)
1650: MOVE AC1,USRPC(PID)
1651: TLNE AC1,USRMOD
1652: JRST INTR4A
1653: MOVE AC1,UUOPC(J)
1654: CAIN AC1,USRXT5
1655: MOVE AC1,UUO0(PID)
1656: TLZN AC1,USRMOD
1657: TDZA AC1,AC1
1658: SUBI AC1,1
1659: INTR4A: SKIPE AC2,AC3
1660: JRST .+3
1661: MOVEI AC2,JOBTPC+1(PROG)
1662: MOVEI AC3,JOBAPR(PROG)
1663: MOVE AC3,(AC3)
1664: MOVEM AC1,-1(AC2)
1665: MOVE AC2,JBTPRV(J)
1666: TLNN AC2,LUPPRV
1667: TLZ AC3,4000
1668: MOVE 16,J
1669: MOVE 2,PROG
1670: MOVE 1,SPWBUT
1671: SETZM 3
1672: MOVE 15,JBTIIP(16)
1673: TLNE 15,INTSHW!INTSWW
1674: SETOM 3
1675: MOVEI 4,1
1676: SKIPE PID
1677: MOVEI 4,2
1678: SETZM 5
1679: MOVE 6,JBTSTS(16)
1680: LDB 7,[POINT 6,JBTSTS(16),35]
1681: HLRZ 7,JBTADR(7)
1682: MOVE 10,INTDTM(16)
1683: MOVM 14,JOBQUE(16)
1684: SKIPN P2NUM
1685: JRST SIXDED
1686: CAIE 4,1
1687: JRST SIXTST
1688: SKIPGE PALIVE+P2PID
1689: SETOM 5
1690: JRST 13,(AC3)
1691: SIXTST: SKIPGE PALIVE+P1PID
1692: SIXDED: SETOM 5
1693: TLZ AC3,37
1694: JRST 13,@AC3
CLKSER page# 0035 next prev
1696:
1697:
1698: INTADC: SETZM JBTIIP(J)
1699: PUSHJ P,TTYERP
1700: PUSHJ P,INLMES
1701: ASCIZ /INTERRUPT ADDRESS OUT OF BOUNDS
1702: /
1703: PUSHJ P,HOLD
1704: JRST INTR1
1705:
1706: INTXIT: JRST 2,@[.+1]
1707: SETZM INTACT(PID)
1708: SETZM INTDISP(PID)
1709: HRLI AC1,-USRJDA-20+USRPRT+1(P)
1710: HRRI AC1,USRPRT(PID)
1711: BLT AC1,USRJDA+17(PID)
1712: SUB P,[XWD USRJDA+20-USRPRT,USRJDA+20-USRPRT]
1713: POP P,APRIN1(PID)
1714: POP P,APRERR(PID)
1715: POP P,APRPC(PID)
1716: POP P,SCHEDF(PID)
1717: POP P,USRREL(PID)
1718: POP P,JOBDAT(PID)
1719: POP P,CLKS17(PID)
1720: POP P,@CLKCH(PID)
1721: IFN FTXCTR,<POP P,@161
1722: POP P,160>
1723: POP P,@UUOLOC(PID)
1724: POP P,UUO0(PID)
1725: POP P,USRSAV(PID)
1726: POP P,LASTPR(PID)
1727: MOVE J,SJOB(PID)
1728: MOVEM J,JOB(PID)
1729: DATAO APR,LASTPR(PID)
1730: POPJ P,
CLKSER page# 0036 next prev
1732:
1733:
1734: INTSWAPIN:
1735: MOVE AC3,J
1736: PUSHJ P,INTSWT
1737: JRST INTR1
1738: LDB AC3,PSEGN
1739: JUMPE AC3,INTR1
1740: MOVE TAC,JBTSTS(AC3)
1741: TLNE TAC,SWP
1742: JRST INTR1
1743: MOVSI TAC,JHLDIN
1744: IORM TAC,JBTSTS(AC3)
1745: JRST INTR1
1746:
1747: INTSWS: PUSHJ P,INTSWT
1748: JRST INTR1
1749: MOVE TAC,JBTSTS(J)
1750: TLNE TAC,SWP
1751: JRST INTR1
1752: MOVSI TAC,JHLDIN
1753: IORM TAC,JBTSTS(J)
1754: JRST INTR1
1755:
1756: INTSWT:
1757: TDNN AC1,JBTMSK(J)
1758: POPJ P,
1759: SETOM INTREQ(PID)
1760: MOVE AC2,JBTSTS(AC3)
1761: TLNN AC2,SWP
1762: POPJ P,
1763: EXCH AC3,J
1764: MOVSI TAC,INTSNB
1765: PUSHJ P,SETSIN
1766: EXCH AC3,J
1767: JRST CPOPJ1
CLKSER page# 0037 next prev
1769:
1770:
1771:
1772: INTCH7: SKIPE APRERR(17)
1773: JRST INTAPR
1774: SKIPE SCHEDF(17)
1775: JRST INTERP
1776: AOSL INTQUANT(17)
1777: JRST INTOUT
1778: JUMPE 17,INTOK
1779: MOVE 17,CLKS17+P2PID
1780: JEN @CL2CHL
1781: INTOK: MOVE 17,CLKS17+P1PID
1782: JEN @CLKCHL
1783: INTOUT: JSR @CLKESV(17)
1784: PUSHJ P,TTYERP
1785: PUSHJ P,INLMES
1786: ASCIZ /?
1787: I-LEVEL TIME-OUT/
1788: MOVE TAC1,@CLKCH(PID)
1789: INTERR: PUSHJ P,PCP
1790: PUSHJ P,PRCRCC
1791: PUSHJ P,TTYSTC
1792: PUSHJ P,ESTOP
1793: INTDSM: SETZM ESTINT
1794: MOVE P,INTSP(PID)
1795: MOVE J,JOB(PID)
1796: MOVE PROG,JOBDAT(PID)
1797: POP P,UUOPC(J)
1798: MOVEI AC1,JOBAC(PROG)
1799: HRLI AC1,INTACS(PID)
1800: BLT AC1,JOBAC+17(PROG)
1801: CAME J,SJOB(PID)
1802: PUSHJ P,S2U
1803: SETZM JBTIIP(J)
1804: JRST INTR2
CLKSER page# 0038 next prev
1806:
1807:
1808: INTDEB: MOVE P,INTSP(PID)
1809: MOVE J,JOB(PID)
1810: MOVE PROG,JOBDAT(PID)
1811: MOVE AC1,UUOPC(J)
1812: MOVEM AC1,USRPC(PID)
1813: CAMN J,SJOB(PID)
1814: MOVEM AC1,-USRJDA-20+USRPC(P)
1815: HRLI AC1,JOBAC(PROG)
1816: HRRI AC1,JOBDAC(PROG)
1817: HRRI AC2,17(AC1)
1818: BLT AC1,(AC2)
1819: MOVM AC1,JOBQUE(J)
1820: CAIE AC1,IOWQ
1821: JRST INTDB1
1822: MOVNI AC2,RUNQ
1823: MOVEM AC2,JOBQUE(J)
1824: PUSHJ P,REQUE
1825: INTDB1: CAME J,SJOB(PID)
1826: PUSHJ P,S2U
1827: POP P,UUOPC(J)
1828: SETZM JBTIIP(J)
1829: JRST INTR2
1830:
1831: INTERP: JSR @CLKESV(17)
1832: SKIPE ESTINT
1833: JRST INTDSM
1834: PUSHJ P,TTYERP
1835: PUSHJ P,INLMES
1836: ASCIZ /?
1837: ATTEMPT TO SCHEDULE I-LEVEL PROCESS, UUO/
1838: MOVE TAC1,UUOPC(J)
1839: SOJA TAC1,INTERR
1840:
1841: INTAPR: JSR @CLKESV(17)
1842: PUSHJ P,TTYERP
1843: PUSHJ P,INLMES
1844: ASCIZ /?
1845: USER I-LEVEL /
1846: MOVEI TAC,[ASCIZ /CH3 ERROR/]
1847: MOVE AC1,APRERR(PID)
1848: TRNE AC1,ILM
1849: MOVEI TAC,[ASCIZ /ILL. MEM. REF./]
1850: TRNE AC1,NXM
1851: MOVEI TAC,[ASCIZ /NON-EX. MEM./]
1852: TRNE AC1,POV
1853: MOVEI TAC,[ASCIZ /PDL OV/]
1854: PUSHJ P,CONMES
1855: MOVE TAC1,APRPC(PID)
1856: JRST INTERR
CLKSER page# 0039 next prev
1858:
1859:
1860: ↑INTKILL:
1861: PUSH P,AC1
1862: PUSH P,AC2
1863: SETZM JBTIEN(J)
1864: SETZM JBTIRQ(J)
1865: SETZM JBTIIP(J)
1866: SETOM JBTWKM(J)
1867: SETOM JBTMSK(J)
1868: PUSHJ P,APRDKL
1869: POP P,AC2
1870: POP P,AC1
1871: SETZM UUOPTR(J)
1872: POPJ P,
CLKSER page# 0040 next prev
1874:
1875:
1876:
1877:
1878:
1879:
1880:
1881:
1882:
1883:
1884:
1885:
1886:
1887: INIJB0: MOVSI TAC,JNA!CMWB
1888: INIJB1: MOVEI J,1
1889: INIJB2: TDNN TAC,JBTSTS(J)
1890: JRST CPOPJ1
1891: CAMGE J,JOBNM1
1892: AOJA J,INIJB2
1893: MOVEI J,0
1894: POPJ P,
1895:
1896: ↑INIJOB:
1897: JUMPN PID,CPOPJ
1898: PUSHJ P,INIJB0
1899: POPJ P,
1900: SKIPE JBTADR(J)
1901: PUSHJ P,INIJXX
1902: SKIPE JBTPDL(J)
1903: JRST INIJB4
1904: PUSH P,AC3
1905: PUSH P,AC1
1906: PUSHJ P,MAKPDL
1907: JRST INIJB5
1908: MOVSI TAC,JNA!CMWB
1909: TDNN TAC,JBTSTS(J)
1910: JRST INIJB3
1911: PUSHJ P,INIJB1
1912: JRST INIJB6
1913: INIJB3: MOVEM AC1,JBTPDL(J)
1914: POP P,AC1
1915: POP P,AC3
1916: INIJB4: SETZB PROG,TTIME(J)
1917: SETZB JDAT,RTIME(J)
1918: SETZM DSKOPS(J)
1919: SETZM JBTWAT(J)
1920: SETZM JB2WAT(J)
1921: SETZM XTIME(J)
1922: MOVSI TAC,JERR
1923: MOVEM TAC,JBTSTS(J)
1924: SETZM JBTADR(J)
1925: SETZM JBTPRV(J)
1926: SETZM JB2PRV(J)
1927: SETZM JBTRNB(J)
1928: SETZM JBTPR2(J)
1929: IFN FTDISK,<
1930: SETZM JBTUFD(J)
1931: IFN FTDSKPPN,<
1932: SETZM DSKPPN(J)
1933: >>
1934: SETZM JBTKCJ(J)
1935: MOVE TAC,TIMDAT
1936: MOVEM TAC,JBTBTM(J)
1937: MOVEM TAC,FTIME(J)
1938: JRST CPOPJ2
1939:
1940: INIJB6: MOVEI AC1,1(AC1)
1941: PUSHJ P,FSGIVE
1942: SOS (P)
1943: INIJB5: POP P,AC1
1944: POP P,AC3
1945: JRST CPOPJ1
1946:
1947:
1948: RELJOB: JUMPN PID,CPOPJ
1949: MOVEI AC1,0
1950: EXCH AC1,JBTPDL(J)
1951: MOVSI TAC,JNA
1952: ANDCAM TAC,JBTSTS(J)
1953: JUMPE AC1,CPOPJ
1954: MOVEI AC1,1(AC1)
1955: JRST FSGIVE
1956:
1957: ↑MAKPDL:
1958: MOVEI AC3,JBTPLN
1959: PUSHJ P,FSGET
1960: POPJ P,
1961: HRLI AC1,1-<JBTPLN+JOBPRT-JOBPFI>
1962: SETZM (AC1)
1963: MOVSI AC3,(AC1)
1964: HRRI AC3,1(AC1)
1965: BLT AC3,JBTPLN-1(AC1)
1966: SOJA AC1,CPOPJ1
1967:
1968: INIJXX: PUSHACS
1969: PUSHJ P,DISMES
1970: ASCIZ /JBTADR NOT ZERO AT INIJOB (OR ESTSG2) /
1971: PUSHJ P,DISJOB
1972: PUSHJ P,DISTAB
1973: MOVE TAC,JBTADR(J)
1974: PUSHJ P,DISOCT
1975: PUSHJ P,DISCRLF
1976: POPACS
1977: DEBCHECK
1978: POPJ P,
CLKSER page# 0041 next prev
1980: SUBTTL COMCON 4 AUG 67 THE COMMAND DECODER
1981:
1982:
1983:
1984:
1985:
1986:
1987:
1988:
1989:
1990:
1991:
1992:
1993:
1994:
1995:
1996:
1997:
1998:
1999:
2000:
2001:
2002:
2003:
2004:
2005:
2006:
2007:
2008:
2009:
2010:
2011:
CLKSER page# 0042 next prev
2013:
2014:
2015:
2016: NOCOMS:
2017: IFN FTTTYBUG,<
2018: AOSG LINSV1
2019: POPJ P,
2020: JRST CNTCOM
2021:
2022:
2023: ↑COMMAND:
2024: PUSHJ P,TTYCOM
2025:
2026: JRST NOCOMS
2027: SETOM LINSV1
2028: COM0: PUSH P,DDB
2029: PUSHJ P,CTEXT
2030: CAMN TAC1,['HAL ']
2031: JRST NOSCRU
2032: JUMPE J,NOSCRU
2033: MOVE AC1,JBTSTS(J)
2034: TLNN AC1,JLOG
2035: TLNN AC1,JNA
2036: JRST NOSCRU
2037: MOVSI TAC1,'K '
2038: NOSCRU: MOVE AC1,TAC1
2039: MOVNI AC2,1
2040: LSH AC2,-6
2041: LSH AC1,6
2042: JUMPN AC1,.-2
2043: MOVEI DSER,0
2044: MOVSI AC1,-DISPL
2045: COMLP: CAMN TAC1,COMTAB(AC1)
2046: JRST COMFND
2047: MOVE UUO,COMTAB(AC1)
2048: TDZ UUO,AC2
2049: CAME TAC1,UUO
2050: JRST COMNEQ
2051: JUMPE DSER,.+2
2052: TLOA DSER,400000
2053: MOVEI DSER,1(AC1)
2054: COMNEQ: AOBJN AC1,COMLP
2055: JUMPLE DSER,.+2
2056: MOVEI AC1,-1(DSER)
2057:
2058:
CLKSER page# 0043 next prev
2060: COMFND: MOVE UUO,COMTAB(AC1)
2061: MOVE TAC1,DISP(AC1)
2062: PUSH P,TAC1
2063: MOVE AC1,JBTSTS(J)
2064: IFN FTLOGIN,<
2065: TLNN AC1,JLOG
2066: TLNE TAC1,NOLOGIN
2067: JRST CHKNO
2068: TLNE TAC1,DOLOG
2069: JRST CHKNOX
2070: JSP TAC,COMER
2071: ASCIZ /LOGIN PLEASE
2072: /
2073: CHKNOX: MOVE TAC1,DISP-1
2074: MOVEM TAC1,(P)
2075: >
2076: CHKNO:
2077: JUMPN J,CHKRUN
2078: TLNE TAC1,NOJOBN
2079: JRST COMGO
2080: PUSHJ P,INIJOB
2081: JRST JBCPEX
2082: JRST [MOVEI TAC1,DLYCM1
2083: JRST COMDIS]
2084: MOVE TAC1,(P)
2085: SETZM DEVLOG(DDB)
2086: JRST CHKCO1
2087:
2088: CHKRUN:
2089: TLNE AC1,RUN
2090: TLNN TAC1,NORUN
2091: JRST CHKACT
2092: MOVM AC3,JOBQUE(J)
2093: CAIE AC3,STOPQ
2094: JRST CNCMES
2095: MOVSI AC3,RUN
2096: ANDCAM AC3,JBTSTS(J)
2097: JRST CHKACT
2098:
2099: CNCMES: JSP TAC,COMER
2100: ASCIZ /PLEASE TYPE ↑C FIRST
2101: /
2102:
2103: JBCPEX: JSP TAC,COMER
2104: ASCIZ /JOB CAPACITY EXCEEDED
2105: /
CLKSER page# 0044 next prev
2107: CHKACT:
2108: IFN JDMPRG,<
2109: MOVE JDAT,JBTDAT(ITEM)
2110: >
2111: MOVE PROG,JBTADR(ITEM)
2112: IFN FTSWAP,<
2113: TLNE AC1,SWP
2114: SETZB PROG,JDAT
2115: TLNE AC1,SWP
2116: TLNN TAC1,INCORE
2117: JRST CHKCO2
2118: TLNN TAC1,SHRINK
2119: JRST CHKCO3
2120: PUSHJ P,INTKILL
2121: PUSHJ P,CORX
2122: CHKCO3: MOVEI TAC1,DLYCOR
2123: JRST COMDIS
2124: >
2125: CHKCO2: TLNE TAC1,NOACT
2126: PUSHJ PDP,RUNCHK
2127: CHKCO1: TLNE TAC1,NOCORE
2128: JRST COMGO
2129: JUMPN PROG,COMGO
2130: JSP TAC,COMER
2131: ASCIZ /NO CORE ASSIGNED
2132: /
2133: COMER: MOVSI TAC1,NOINCK
2134: MOVEM TAC1,(PDP)
2135: MOVEI TAC1,CERR
2136: COMGO: MOVSI IOS,NOSKPB
2137: ANDCAM IOS,(PDP)
2138: TLZ AC1,CMWB
2139: MOVEM AC1,JBTSTS(ITEM)
2140: COMDIS: TLNE TAC1,NOPRIV
2141: PUSHJ P,CLRTPV
2142: MOVEI IOS,0
2143: AOS NCOMS
2144: PUSHJ PDP,(TAC1)
CLKSER page# 0045 next prev
2146:
2147:
2148: COMRET: POP P,AC2
2149: POP P,DDB
2150: TLNN AC2,NOSKPB
2151: PUSHJ P,COMR2A
2152: PUSHJ P,COMR2B
2153: TLNN AC2,NOACT
2154: JRST COMRE1
2155: MOVSI AC1,SPWSUS!SPWST1!SPWST2
2156: PSYNC SPWCSC
2157: ANDCAM AC1,JBTST2(J)
2158: XSYNC SPWCSC
2159: COMRE1: JUMPN J,COMRT1
2160: TLNN AC2,NOJOBN
2161: MOVSI AC2,NOINCK!ERRFLG
2162: COMRT1: MOVE AC1,JBTSTS(J)
2163: TLNN AC2,NOINCK
2164: TLOE AC1,JNA
2165: JRST PCRLF
2166: MOVSI AC1,JNA
2167: IORM AC1,JBTSTS(J)
2168: PUSHJ P,TTYATI
2169: JFCL
2170: PUSHJ P,PRJOB
2171: IFE FTLOGIN,<
2172: PUSHJ P,PRSPC
2173: PUSHJ P,DAYTIM
2174: >
2175:
CLKSER page# 0046 next prev
2177: PCRLF: TLNE AC2,ERRFLG
2178: PUSHJ PDP,PRQM
2179: TLNN AC2,NOCRLF
2180: PUSHJ PDP,CRLF
2181: TLNN AC2,NOPER
2182: PUSHJ PDP,PRPER
2183: JUMPE ITEM,PCRLF1
2184:
2185: TLNE AC2,TTYRNU
2186:
2187: PUSHJ PDP,TTYUSR
2188: TLNE AC2,TTYRNC
2189: PUSHJ PDP,SETRUN
2190: PCRLF1: TLNN AC2,NOMESS
2191: JRST TTYSTR
2192: POPJ PDP,
2193:
2194: COMR2A: LDB TEM,TITAKR(DDB)
2195: ANDI TEM,177
2196: MOVEI DAT,TTIBUF(DDB)
2197: SKPBRK: PUSH PDP,TAC
2198: SKPBR2: PUSHJ PDP,SPCHEK
2199: JRST SKPBR1
2200: TLNE TAC,BREAKB
2201: JRST TPOPJ
2202: SKPBR1: PUSHJ PDP,GETLCCHR
2203: JUMPN TEM,SKPBR2
2204: JRST TPOPJ
2205:
2206:
2207: COMRT2: PUSHJ PDP,COMR2A
2208: COMR2B: MOVSI AC1,COMBIT
2209: LDB TAC,PUNIT
2210: CONO PI,SCNOFF
2211: SKIPGE TTYTAB(TAC)
2212: SOS COMCNT
2213: ANDCAM AC1,TTYTAB(TAC)
2214: IFN FTTTYBUG,<
2215: PUSHJ P,COMBCK
2216: PUSHJ P,CNTCOM
2217: >
2218: CONO PI,SCNON
2219: POPJ P,
CLKSER page# 0047 next prev
2221:
2222:
2223:
2224:
2225:
2226: NOCORE←←400000
2227: NOJOBN←←200000
2228: NOLOGIN←←100000
2229: NOACT←←40000
2230: INCORE←←20000
2231:
2232: NORUN←←10000
2233:
2234: SHRINK←←4000
2235:
2236: NOPRIV←←2000
2237:
2238:
2239:
2240: NOSKPB←←4000
2241:
2242: NOINCK←←400
2243: NOCRLF←←200
2244: NOPER←←100
2245: TTYRNU←←40
2246:
2247: TTYRNC←←20
2248:
2249: NOMESS←←10
2250: DOLOG←←4
2251:
2252:
2253: ERRFLG←←1
2254:
2255: RPGBIT←←NOCORE!NOPER!NOCRLF!INCORE!NORUN!NOACT!TTYRNU!SHRINK!DOLOG!NOPRIV
2256:
CLKSER page# 0048 next prev
2258: DEFINE NAMES
2259: <
2260: C KJOB,KJOB,NOCORE!NOJOBN!NOINCK!NOLOGIN!NOACT!NORUN!NOCRLF!NOPER!NOMESS!INCORE!SHRINK
2261: C LOGOUT,KJOB,NOCORE!NOJOBN!NOINCK!NOLOGIN!NOACT!NORUN!NOCRLF!NOPER!NOMESS!INCORE!SHRINK
2262: C K,KJOB,NOCORE!NOJOBN!NOINCK!NOLOGIN!NOACT!NORUN!NOCRLF!NOPER!NOMESS!INCORE!SHRINK
2263: C KATTACH,KJOB,NOCORE!NOJOBN!NOINCK!NOLOGIN!NOACT!NORUN!NOCRLF!NOPER!NOMESS!INCORE!SHRINK
2264: C KLOG,KJOB,NOCORE!NOJOBN!NOINCK!NOLOGIN!NOACT!NORUN!NOCRLF!NOPER!NOMESS!INCORE!SHRINK
2265: C START,START,NOPER!TTYRNU!INCORE!NOACT!NORUN
2266: C S,START,NOPER!TTYRNU!INCORE!NOACT!NORUN
2267: C HALT,STOP,NOCORE!NOJOBN!NOLOGIN!NOINCK
2268: C KILL,KILCOM,NOCORE
2269: C FLUSH,FLUSH,NOINCK!NOLOGIN!NOJOBN!NOCORE
2270: C <>,CBLANK,NOCORE!NOJOBN!NOLOGIN!NOINCK!NOCRLF
2271: C R,RCOM,NOCORE!NOPER!TTYRNU!NOCRLF!INCORE!NOACT!NORUN!SHRINK!DOLOG!NOPRIV
2272: C RUN,RUNCOM,NOCORE!NOPER!TTYRNU!NOCRLF!INCORE!NOACT!NORUN!SHRINK!DOLOG!NOPRIV
2273: IFN FTLOGIN,<
2274: C CORE,CORE,NOCORE!NOACT!NOLOGIN!NORUN!NOINCK!NOJOBN
2275: C C,CORE,NOCORE!NOACT!NOLOGIN!NORUN!NOJOBN!NOINCK
2276: >
2277: IFE FTLOGIN,<
2278: C CORE,CORE,NOCORE!NOACT!NOLOGIN!NORUN
2279: C C,CORE,NOCORE!NOACT!NOLOGIN!NORUN
2280: >
2281: C SETUWP,SETWPS,NOACT!NOCORE!NOPRIV
2282: C CLRUWP,CLRWPS,NOACT!NOCORE!NOPRIV
2283: C ENABLE,ENABLE,NOCORE
2284: C DISABLE,DISABLE,NOCORE
2285: C GET,GET,NOCRLF!NOPER!TTYRNU!INCORE!NOCORE!NOACT!NORUN!SHRINK!DOLOG!NOPRIV
2286: C G,GET,NOCRLF!NOPER!TTYRNU!INCORE!NOCORE!NOACT!NORUN!SHRINK!DOLOG!NOPRIV
2287: C SAVE,SAVE,NOCRLF!NOPER!TTYRNU!INCORE!NOACT!NORUN!NOPRIV
2288: C SSAVE,SSAVE,NOCRLF!NOPER!TTYRNU!INCORE!NOACT!NORUN!NOPRIV
2289: C CONTINUE,CONT,NOPER!TTYRNU!INCORE!NORUN
2290: C DE,DCOM,INCORE!NOPRIV
2291: C E,ECOM,NOCRLF!INCORE
2292: C PJOB,PJOBDV,NOCORE!NOLOGIN!NOJOBN!NOINCK
2293: C PTTY,PTTY,NOCORE!NOJOBN!NOINCK!NOLOGIN
2294: IFN FTDSKPPN,<
2295: C ALIAS,SDSKPPN,NOCORE!NOPRIV
2296: >
2297: C SLEVEL,SLEVEL,NOCORE
2298: C ASSIGN,ASSIGN,NOCORE!DOLOG!NOPRIV
2299: C A,ASSIGN,NOCORE!DOLOG!NOPRIV
2300: C DEASSI,DEASSIGN,NOCORE
2301: C D,DEASSIGN,NOCORE
2302: C DDT,DDTGO,NOPER!TTYRNU!INCORE!NORUN!NOPRIV
2303: C TTY,TTYSUB,NOLOGIN!NOCORE!NOJOBN!NOINCK
2304: C FINISH,FINIS,NOPER!NOACT!INCORE!NORUN!NOPRIV
2305: C F,FINIS,NOPER!NOACT!INCORE!NORUN!NOPRIV
2306: C REENTER,REENTER,TTYRNU!NOPER!INCORE!NORUN
2307: C CSTART,STARTC,TTYRNC!INCORE!NORUN
2308: C CCONTINUE,CONTC,TTYRNC!INCORE!NORUN
2309: C DETACH,DETACH,NOCORE!NOINCK!NOPER!NOCRLF!NOMESS
2310: C CDETACH,CDETACH,NOCORE!NOINCK
2311: C ATTACH,ATTACH,NOCORE!NOJOBN!NOLOGIN!NOINCK
2312: C DAYTIME,DAYTIM,NOCORE!NOJOBN!NOLOGIN!NOINCK
2313: C EDDT,CEDDT,NOCORE!NOJOBN!NOLOGIN!NOINCK
2314: C TIME,RUNTIM,NOCORE!NOLOGIN!NOINCK!NOJOBN
2315: C RESOURCES,FREDEV,NOCORE!NOJOBN!NOLOGIN!NOINCK
2316: C FILES,FILCOM,NOCORE!NOJOBN!NOLOGIN!NOINCK
2317: C REASSI,REASS,NOCORE!NOACT!INCORE!NORUN
2318: C TALK,TALK,NOCORE!NOJOBN!NOLOGIN!NOMESS!NOINCK!NOCRLF!NOPER
2319: C HELLO,HELLO,NOCORE!NOLOGIN!NOJOBN!NOINCK
2320: IFN FTLOGIN,<
2321: C LOGIN,CLOGIN,NOCORE!NOLOGIN!NOPER!TTYRNU!INCORE!NOACT!NORUN
2322: C L,CLOGIN,NOCORE!NOLOGIN!NOPER!TTYRNU!INCORE!NOACT!NORUN
2323: C PPPN,PPPN,NOLOGIN!NOCORE!NOJOBN!NOINCK
2324: C FORK,FORK,NOINCK!NOMESS!NOPER!NOCRLF!NOCORE!NOPRIV
2325: C CFORK,CFORK,NOINCK!NOMESS!NOPER!NOCRLF!NOCORE!NOPRIV
2326: >
CLKSER page# 0049 next prev
2328:
2329: IFN FTDISK,<
2330: C HELP,HELP,RPGBIT!NOLOGIN
2331: C WHERE,WHECOM,RPGBIT!NOLOGIN
2332: C SYSTAT,WHOCOM,RPGBIT!NOLOGIN
2333: C WHO,WHOCOM,RPGBIT!NOLOGIN
2334: C W,WHOCOM,RPGBIT!NOLOGIN
2335: C FINGER,FINGER,RPGBIT!NOLOGIN
2336: C FIND,FNDCOM,RPGBIT!NOLOGIN
2337: C FIXIML,FIXIML,RPGBIT!NOLOGIN
2338:
2339: C LISP,LSPCOM,RPGBIT
2340: C RSL,RSLCOM,RPGBIT
2341:
2342: C COMPILE,RPGCOM,RPGBIT
2343: C DEBUG,RPGCOM,RPGBIT
2344: C PREPARE,RPGCOM,RPGBIT
2345: C LOAD,RPGCOM,RPGBIT
2346: C EXECUTE,RPGCOM,RPGBIT
2347: C CREF,RPGCOM,RPGBIT
2348: C TV,RPGCOM,RPGBIT
2349: C CTV,RPGCOM,RPGBIT
2350: C EDIT,RPGCOM,RPGBIT
2351: C ED,RPGCOM,RPGBIT
2352: C CREATE,RPGCOM,RPGBIT
2353: C TECO,RPGCOM,RPGBIT
2354: C MAKE,RPGCOM,RPGBIT
2355: C TRY,RPGCOM,RPGBIT
2356: C PUB,RPGCOM,RPGBIT
2357:
2358: C READ,ETCOM,RPGBIT
2359: C ETV,ETCOM,RPGBIT
2360: C CETV,ETCOM,RPGBIT
2361:
2362: C LIST,CPYCOM,RPGBIT
2363: C DIRECTORY,CPYCOM,RPGBIT
2364: C DI,CPYCOM,RPGBIT
2365: C DELETE,CPYCOM,RPGBIT
2366: C RENAME,CPYCOM,RPGBIT
2367: C TYPE,CPYCOM,RPGBIT
2368: C COPY,CPYCOM,RPGBIT
2369: C PRINT,CPYCOM,RPGBIT
2370: C TRANSFER,CPYCOM,RPGBIT
2371: C XGPLIST,CPYCOM,RPGBIT
2372:
2373: C SEND,MAICOM,RPGBIT
2374: C MAIL,MAICOM,RPGBIT
2375: C GRIPE,MAICOM,RPGBIT
2376: C REMIND,MAICOM,RPGBIT
2377: C CANCEL,OBLCOM,RPGBIT
2378: C LATER,MAICOM,RPGBIT
2379: C RCV,RCVCOM,RPGBIT!NOLOGIN
2380: C PLAN,MAICOM,RPGBIT
2381:
2382: C SPOOL,SPLCOM,RPGBIT
2383: C QSPOOL,SPLCOM,RPGBIT!NOLOGIN
2384: C UNSPOOL,SPLCOM,RPGBIT
2385: C XSPOOL,SPLCOM,RPGBIT
2386:
2387: C ZERO,ZERCOM,RPGBIT
2388: C XEROX,XERCOM,RPGBIT
2389: C DO,DOCOM,RPGBIT
2390: C TEST,TSTCOM,RPGBIT
2391:
2392: C REWIND,DSCCOM,RPGBIT
2393: C DUMP,DSCCOM,RPGBIT
2394: C RESTOR,DSCCOM,RPGBIT
2395: C ADVANC,DSCCOM,RPGBIT
2396: C BACKSP,DSCCOM,RPGBIT
2397: C TLIST,DSCCOM,RPGBIT
2398: C EOT,DSCCOM,RPGBIT
2399: C LOCATE,DSCCOM,RPGBIT
2400:
2401: C TN,TNCOM,RPGBIT
2402: C TELNET,TNCOM,RPGBIT
2403: C FTP,FTPCOM,RPGBIT
2404:
2405: C DIAL,DILCOM,RPGBIT
2406:
2407: C NS,NSCOM,RPGBIT
2408: C HOT,HOTCOM,RPGBIT
2409:
2410: C UDPUFD,UDPCOM,RPGBIT
2411: >>
CLKSER page# 0050 next prev
2413: BEGIN COMTBL
2414:
2415: DEFINE C(A,B,C),<
2416: <SIXBIT /A/>
2417: >
2418:
2419: ↑↑COMTAB:
2420: XLIST
2421: NAMES
2422: LIST
2423: ↑↑DISPL←.-COMTAB
2424:
2425:
2426:
2427: DEFINE C!(A,B,D)
2428: < XWD D,B>
2429:
2430:
2431: XWD NOCORE!NOLOGIN!NOPER!TTYRNU!INCORE!NOACT!NORUN,CXLOGI
2432: ↑DISP:
2433: XLIST
2434: NAMES
2435: LIST
2436:
2437: XWD NOCORE+NOJOBN+NOLOGIN+NOINCK,NOCOM
2438:
2439: BEND COMTBL
CLKSER page# 0051 next prev
2441:
2442:
2443:
2444:
2445:
2446:
2447:
2448:
2449:
2450:
2451:
2452:
2453:
2454:
2455:
2456:
2457:
2458:
2459:
2460:
2461: CEDDT: PUSHJ P,STLNAC
2462: TLNN TAC1,CTYLIN
2463: JRST COMERR
2464: JRST DDTCAL
CLKSER page# 0052 next prev
2466: COR0:
2467: JUMPE PROG,CPOPJ
2468: MOVSI TAC,TTYRNU!NOPER!NOCRLF
2469: IORM TAC,-1(P)
2470: JSP TAC1,MONJOB
2471:
2472: MOVEI TAC1,HOLD
2473: JSP TAC,MONSTR
2474: JOB1: PUSHJ P,RESET
2475: PUSHJ P,TTYFNU
2476: PUSHJ P,NOCORQ
2477: MOVEI TAC,0
2478: SOS (P)
2479: IFN FTSWAP,<
2480: SETZM JBTSWP(J)
2481: SETOM STIME(J)
2482: LDB DAT,PSEGN
2483: MOVE TEM,JBTSTS(DAT)
2484: TLNN TEM,JWP
2485: SETOM STIME(DAT)
2486: >
2487: JRST CORE1
CLKSER page# 0053 next prev
2489:
2490:
2491:
2492:
2493: PTTY: PUSHJ P,DECIN
2494: JRST PTTY1
2495: JRST COMERA
2496: JUMPE TAC1,NOTLOG
2497: CAIL TAC1,JOBN
2498: JRST NOTLOG
2499: MOVE TAC,JBTSTS(TAC1)
2500: TLNN TAC,JNA
2501: JRST NOTLOG
2502: MOVE AC1,JBTLIN(TAC1)
2503: CAMN AC1,[-1]
2504: JRST PTTYDT
2505: TLNN AC1,CTYLIN
2506: JRST NOTCTY
2507: JSP TAC,CONMES
2508: ASCIZ/CTY
2509: /
2510: NOTCTY: PUSH P,AC1
2511: PUSHJ P,INLMES
2512: ASCIZ/TTY/
2513: POP P,TAC
2514: HRRZS TAC
2515: PUSHJ P,OCTPNT
2516: JRST PTTY2
2517:
2518: PTTY1: MOVE TAC1,DEVNAM(DDB)
2519: PUSHJ P,PRNAME
2520: LDB AC1,PUNIT
2521: HLL AC1,LINTAB(AC1)
2522: PTTY2: TLNN AC1,DDDLIN
2523: JRST CRLF
2524: PUSHJ P,INLMES
2525: ASCIZ /, DD/
2526: MOVE AC1,LETAB-DPYL0(AC1)
2527: HLRZ TAC,PRGNUM(AC1)
2528: PUSHJ P,OCTPNT
2529: JRST CRLF
2530:
2531: PTTYDT:
2532: JSP TAC,CONMES
2533: ASCIZ/DETACHED.
2534: /
2535:
2536:
2537:
2538:
2539: PJOBDV: PUSHJ P,CTEXT1
2540: JUMPN TAC1,PJOBX
2541: JUMPE ITEM,LOGPLS
2542: ↑PJOB: MOVE TAC,ITEM
2543: ↑DECLF: PUSHJ PDP,RADX10
2544: JRST CRLF
2545:
2546: PJOBX: MOVE TAC,TAC1
2547: PUSH P,TAC
2548: PUSHJ P,DEVPHY
2549: SKIPA DDB,-3(P)
2550: JRST FNDDEV
2551: PUSHJ P,DADD00
2552: JRST PJDVLZ
2553: LDB TAC1,[DDUSR+<(TAC)>]
2554: JUMPE TAC1,DEVFRE
2555: CAIGE TAC1,100
2556: JRST FNDDV1
2557: CAIL TAC1,200
2558: JRST DEVFR2
2559: SUBI TAC1,100-DDL0
2560: PUSH P,TAC1
2561: MOVEI AC1,(TAC1)
2562: PUSHJ P,NOTCTY
2563: POP P,TAC1
2564: FNDDV0: SKIPN DDB,TTYTAB(TAC1)
2565: JRST DEVFRE
2566: FNDDEV: MOVE TAC1,DEVMOD(DDB)
2567: TLNE TAC1,DVUDP
2568: JRST PJBUDP
2569: LDB TAC1,PJOBN
2570: FNDDV1: JUMPE TAC1,DEVFR1
2571: PUSH P,TAC
2572: PUSHJ P,PJPRNM
2573: POP P,TAC
2574: PUSHJ P,INLMES
2575: ASCIZ/ ASSIGNED TO JOB /
2576: POP P,TAC
2577: JRST DECLF
2578:
2579: PJBUDP: LDB TAC,PUNIT
2580: SKIPL TAC1,UDPOWN-1(TAC)
2581: JRST FNDDV1
2582: SKIPN UDPCNT-1(TAC)
2583: JRST DEVFRE
2584: PUSH P,TAC
2585: PUSHJ P,PJPRNM
2586: POP P,TAC
2587: SKIPE TAC,SATADR(TAC)
2588: PUSHJ P,SATTAC
2589: POP P,(P)
2590: JSP TAC,CONMES
2591: ASCIZ / PUBLIC
2592: /
2593:
2594: PJDVLZ: POP P,(P)
2595: MOVE DDB,-2(P)
2596: MOVEI DAT,TTOBUF(DDB)
2597: JRST NOTDEV
2598:
2599: DEVFR1: MOVE TAC1,DEVMOD(DDB)
2600: TRNN TAC1,ASSCON
2601: JRST DEVFRE
2602: DEVFR2: JSP TAC,PJBMSG
2603: ASCIZ/DETACHED FROM SYSTEM.
2604: /
2605:
2606: DEVFRE: JSP TAC,PJBMSG
2607: ASCIZ/NOT IN USE.
2608: /
2609:
2610: PJBMSG: POP P,(P)
2611: MOVE DDB,-2(P)
2612: MOVEI DAT,TTOBUF(DDB)
2613: JRST CONMES
2614:
2615: PJPRNM: MOVE DDB,-5(P)
2616: MOVEI DAT,TTOBUF(DDB)
2617: EXCH TAC1,-2(P)
2618: JRST PRNAME
2619:
2620:
2621:
2622:
2623:
2624: KJOB: JUMPE ITEM,JOBKB
2625: IFN FTSWAP,<
2626: TLNN AC1,SWP
2627: JRST KJOB1
2628: JUMPN PROG,DLYCR1
2629: CORX: MOVEI TAC,1
2630: PUSH PDP,CORX1
2631: JRST CORE0K
2632: KJOB1:
2633: >
2634: IFN FTLOGIN,<
2635: PUSHJ P,STLNAC
2636: TLNN TAC1,IMPBIT
2637: TLNN TAC1,PTYLIN
2638: TLZN AC1,JLOG!JACCT
2639: JRST KJOB2
2640: TLO AC1,JACCT
2641: HLLM AC1,JBTSTS(ITEM)
2642: IFN FTSWAP,<
2643: PUSHJ PDP,ALOGN1
2644: >
2645: MOVSI TAC,TTYRNU+NOMESS
2646: XORM TAC,-1(PDP)
2647: PUSH PDP,['LOGOUT']
2648: JRST ARCOM
2649: >
CLKSER page# 0054 next prev
2651: IFN FTLOGIN,<
2652:
2653: PPPN: PUSHJ P,DECIN
2654: JRST PPPN6
2655: JRST COMERA
2656: MOVSI TAC,NOINCK
2657: IORM TAC,-1(P)
2658: CAIGE TAC1,JOBN
2659: CAIG TAC1,0
2660: JRST ECOMA
2661: MOVE AC1,TAC1
2662: PPPN5: MOVE TAC,JBTSTS(AC1)
2663: SKIPE PRJPRG(AC1)
2664: TLNN TAC,JNA
2665: JRST NOTLOG
2666: MOVE TAC,[POINT 6,PRJPRG(AC1)]
2667: PUSHJ P,PPPN7
2668: MOVEI TEM,","
2669: XCT TYO
2670: PUSHJ P,PPPN7
2671: IFN FTDSKPPN,<
2672: SKIPN DSKPPN(AC1)
2673: JRST NOALIAS
2674: PUSHJ P,INLMES
2675: ASCIZ/ ALIAS /
2676: MOVE TAC,[POINT 6,DSKPPN(AC1)]
2677: PUSHJ P,PPPN7
2678: MOVEI TEM,","
2679: XCT TYO
2680: PUSHJ P,PPPN7
2681: NOALIAS:
2682: >
2683: PUSHJ PDP,INLMES
2684: ASCIZ /
2685: /
2686: POPJ PDP,
2687:
2688: PPPN6: MOVEI AC1,(J)
2689: MOVE AC2,JBTSTS(J)
2690: TLNN AC2,JLOG
2691: JRST LOGPLS
2692: JRST PPPN5
2693:
2694: PPPN7: MOVEI TAC1,3
2695: PPPN8: ILDB TEM,TAC
2696: JUMPE TEM,PPPN9
2697: ADDI TEM," "
2698: XCT TYO
2699: PPPN9: SOJG TAC1,PPPN8
2700: POPJ P,
2701: >
2702:
2703:
2704:
2705: IFN FTDSKPPN,<
2706: SDSKPPN:
2707: CAIE TEM,";"
2708: CAIN TEM,12
2709: JRST CDSKPPN
2710: PUSHJ P,GETWRB
2711: JUMPE TAC1,[ CAIE TEM,12
2712: CAIN TEM,";"
2713: JRST CDSKPPN
2714: JRST COMERA]
2715: HLLZ AC2,TAC1
2716: TRNE TAC1,-1
2717: JRST COMERA
2718: CAIE TEM,";"
2719: CAIN TEM,12
2720: JRST [HRR AC2,PRJPRG(J)
2721: JRST CNGPRJ]
2722:
2723:
2724:
2725:
2726: PUSHJ P,GETWRB
2727: JUMPE TAC1,COMERA
2728: HLR AC2,TAC1
2729: TRNE TAC1,-1
2730: JRST COMERA
2731: CNGPRJ: CAMN AC2,MFDENT
2732: JRST COMERA
2733: CAMN AC2,PRJPRG(J)
2734: CDSKPPN:SETZ AC2,
2735: CAME AC2,DSKPPN(J)
2736: SETZM JBTUFD(J)
2737: MOVEM AC2,DSKPPN(J)
2738: POPJ P,
2739:
2740: GETWRB: PUSHJ P,CTEXT
2741: JUMPE TAC1,NOJUST
2742: TLNN TAC1,7777
2743: LSH TAC1,-14
2744: TLNN TAC1,77
2745: LSH TAC1,-6
2746: NOJUST: PUSHJ P,SKIPSB
2747: POPJ P,
2748: >
2749:
2750: ↑NOTLOG:JSP TAC,ERRMES
2751: ASCIZ /NO SUCH JOB
2752: /
CLKSER page# 0055 next prev
2754:
2755:
2756:
2757:
2758: MAXLEV ←← =80
2759:
2760: SLEVEL:
2761: TYPSL: PUSHJ P,SPRSSL
2762:
2763: HRRZ TAC,JBTGSL(J)
2764: IMULI TAC,=100
2765: ADDI TAC,400000
2766: HLRZS TAC
2767: PUSHJ P,RADX10
2768: JSP TAC,CONMES
2769: ASCIZ /% SERVICE LEVEL
2770: /
CLKSER page# 0056 next prev
2772:
2773: KILCOM: PUSHJ P,DECIN
2774: JRST NOTENF
2775: JRST COMERA
2776: CAMN J,TAC1
2777: JRST ILLKIL
2778: CAIL TAC1,JOBN
2779: JRST NOTLOG
2780: JUMPLE TAC1,NOTLOG
2781: MOVE TAC,JBTSTS(TAC1)
2782: TLNN TAC,JNA
2783: JRST NOTLOG
2784: TLNE TAC,JSEG
2785: JRST KILCM5
2786: MOVSI AC1,KILPRV
2787: TDNE AC1,JBTPRV(J)
2788: JRST KILOK
2789: HRRZ AC1,PRJPRG(ITEM)
2790: HRRZ TAC,PRJPRG(TAC1)
2791: CAME TAC,AC1
2792: JRST NOTYRS
2793: KILOK: MOVE TAC,JBTSTS(TAC1)
2794: TLNE TAC,SHF
2795: JRST DLYCM
2796: PUSH P,J
2797: PUSH P,PROG
2798: MOVE J,TAC1
2799: MOVE PROG,JBTADR(J)
2800: TLNE TAC,SWP
2801:
2802: JRST KILCM3
2803: JUMPE PROG,KILCM7
2804: MOVE TAC,(P)
2805: MOVE TAC,JBTPRV(TAC)
2806: TLNE TAC,KILPRV
2807: JRST KILCM6
2808: PUSHJ PDP,ANYACT
2809: JRST KILCM3
2810: JRST KILCM6
2811:
2812: KILCM7: MOVEI TAC,JOBDA
2813: PUSHJ P,CORE0
2814: JFCL
2815: JUMPE PROG,KILCM4
2816: KILCM6: MOVSI TAC1,CMWB
2817: ANDCAM TAC1,JBTSTS(J)
2818: MOVEI TAC1,KILCM1
2819: MOVE TAC,JBTPRV(J)
2820: TLNN TAC,KILPRV
2821: MOVEI TAC1,JOBKL
2822: PUSHJ P,MONJOB
2823: KILCM2: POP P,PROG
2824: POP P,J
2825: POPJ P,
2826:
2827: KILCM3: PUSHJ P,DLYCOM
2828: KILCM4: POP P,PROG
2829: POP P,J
2830: JRST DLYCM
2831:
2832: KILCM5: MOVE TAC,PRJPRG(TAC1)
2833: MOVEM TAC,JOBNAM(TAC1)
2834: IFN FTSTAT,<PUSH P,J
2835: MOVE J,TAC1
2836: PUSHJ P,NAMSTT
2837: POP P,J
2838: >
2839: POPJ P,
2840:
2841: NOTYRS: JSP TAC,ERRMES
2842: ASCIZ /NOT ONE OF YOUR JOBS.
2843: /
2844:
2845: ILLKIL: JSP TAC,CONMES
2846: ASCIZ /USE "KJOB" TO LOG YOURSELF OFF.
2847: /
CLKSER page# 0057 next prev
2849:
2850: KILCM1: MOVEI TAC1,ESTOP
2851: JSP TAC,MONSTR
2852: PUSHJ P,RESETSEG
2853: PUSHJ P,IOKILL
2854: PUSHJ P,TTYFND
2855: PUSHJ P,TSETBF
2856: MOVSI IOS,TOIP
2857: ANDCAB IOS,DEVIOS(DDB)
2858: PUSHJ P,KILSPW
2859: JRST JOBKL1
CLKSER page# 0058 next prev
2861: KJOB2: JUMPE PROG,JOBKA
2862: JSP TAC1,MONJOB
2863: ↑JOBKL: MOVEI TAC1,ESTOP2
2864: JSP TAC,MONSTR
2865: JOBKL1: PUSHJ P,DSFLUSH
2866:
2867: IFN FTDRD,<
2868: CAMN PROG,JBTADR(J)
2869: JRST JOBKL2
2870: PUSHAC
2871: PUSHJ P,DISMES
2872: ASCIZ /PROG CLOBBERED AT JOBKL1 /
2873: PUSHJ P,DISJOB
2874: PUSHJ P,DISCRLF
2875: POPACS
2876: JOBKL2:
2877: >
2878: PUSHJ P,RESET
2879: PUSHJ P,DEASTY
2880: PUSHJ P,JOB1
2881:
2882: IFN FTDRD,<
2883: SKIPN JBTADR(J)
2884: JRST JOBKA
2885: PUSHACS
2886: PUSHJ P,DISMES
2887: ASCIZ /JBTADR NOT ZERO AT JOBKA-1 /
2888: PUSHJ P,DISJOB
2889: PUSHJ P,DISCRLF
2890: POPACS
2891: >
2892:
2893: JOBKA:
2894: IFE FTLOGIN,<
2895: MOVE TAC,TTIME(J)
2896: SUB TAC,RTIME(J)
2897: JUMPE TAC,.+2
2898: PUSHJ P,PRTIME
2899: MOVE TAC,TTIME(J)
2900: PUSHJ P,PRTIME
2901: >
2902: JOBKK: PUSHJ P,DEASTY
2903: PUSHJ P,TTYERR
2904: PUSHJ P,INLMES
2905: ASCIZ /KJOB
2906: /
2907: PUSHJ P,PRPER
2908: PUSHJ P,TTYSTR
2909: PUSHJ P,TTYKIL
2910: SKIPE AC1,JBTJL(J)
2911: PUSHJ P,FSGIVE
2912: SETZM JBTJL(J)
2913: SKIPE AC1,JBTFS(J)
2914: PUSHJ P,FSGIVE
2915: SETZM JBTFS(J)
2916: PUSHJ P,TMPKIL
2917: PUSHJ P,RELPDL
2918:
2919:
2920: HLRZ AC1,SAVSAI(J)
2921: JUMPE AC1,.+2
2922: PUSHJ P,FSGIVE
2923: SETZM SAVSAI(J)
2924: JRST KSTOP
2925:
2926:
2927:
2928:
2929:
2930: CERR: JRST ERRMES
2931:
2932: JOBKB: SETZM -1(PDP)
2933: JRST LOGPLS
CLKSER page# 0059 next prev
2935:
2936:
2937:
2938: START:
2939: STARTC: PUSHJ P,SKIPSJ
2940: CAIE TEM,"+"
2941: CAIN TEM,"-"
2942: JRST STARTA
2943: PUSHJ P,OCTIN
2944: SKIPA TAC1,JOBSA(JDAT)
2945: JRST COMERA
2946: CAME TAC1,JOBSA(JDAT)
2947: PUSHJ P,CLRTPV
2948: HRRZ TAC,TAC1
2949: TDZA TAC1,TAC1
2950: STARTB: HRRZ TAC,JOBSA(JDAT)
2951: JUMPN TAC,STRTCK
2952: JSP TAC,ERRMES
2953: ASCIZ /NO STARTUP ADDRESS!
2954: /
2955:
2956: STARTA: CAIE TEM,"+"
2957: JRST STARTE
2958: PUSHJ P,OCTINS
2959: SKIPA TAC1,[1]
2960: JRST COMERA
2961: JRST STARTB
2962:
2963: STARTE: PUSHJ P,OCTINS
2964: SKIPA TAC1,[1]
2965: JRST COMERA
2966: MOVN TAC1,TAC1
2967: JRST STARTB
2968:
2969:
2970: REENTE: PUSHJ P,SKIPSJ
2971: CAIN TEM,"-"
2972: JRST REENTM
2973: PUSHJ P,OCTIN
2974: TDZA TAC1,TAC1
2975: JRST COMERA
2976: REENTN: HRRZ TAC,JOBREN(JDAT)
2977: JUMPN TAC,STRTCK
2978: JSP TAC,ERRMES
2979: ASCIZ /NO REENTER ADDRESS
2980: /
2981:
2982: REENTM: PUSHJ P,OCTINS
2983: SKIPA TAC1,[1]
2984: JRST COMERA
2985: MOVN TAC1,TAC1
2986: JRST REENTN
2987:
2988: STRTCK: JUMPE TAC1,.+2
2989: PUSHJ P,CLRTPV
2990: ADD TAC1,TAC
2991: JRST USTART
2992:
2993:
2994:
2995:
2996:
2997:
2998:
2999:
3000: ↑STOP: JUMPE ITEM,STOPB1
3001: CAMN ITEM,STUSER
3002: JRST STOPA
3003: IFN FTDISK,<
3004:
3005: PUSHJ P,STOPCK
3006: JRST MAKCNC
3007: >
3008: PUSHJ P,STOP1
3009: STOPB:
3010: REPEAT 0,<
3011: MOVSI TAC,INTHAL ;↑C USER INTERRUPT BIT
3012: TDNN TAC,JBTIEN(J)
3013: JRST STOPB1
3014: IORM TAC,JBTIRQ(J) ;ENABLED, GIVE HIM THE INTERRUPT
3015: SETOM INTREQ(PID) ;AS IF THE 6 WOULD EVER DO THIS
3016: >
3017: STOPB1: MOVSI TAC,JACCT
3018: ANDCAM TAC,JBTSTS(J)
3019: JSP TAC,CONMES
3020: ASCIZ /↑C
3021: /
3022: POPJ P,
3023:
3024: STOPA: POP P,TAC1
3025: PUSHJ P,ACTCHK
3026: PUSHJ P,ESTOP
3027: MOVEI TAC1,COMRET
3028: PUSH P,TAC1
3029: JRST STOPB
3030:
3031: MAKCNC: MOVE TAC1,LINSAV
3032: MOVE TAC1,TTYTAB(TAC1)
3033: MOVEI TAC,600
3034: DPB TAC,TITAKR(TAC1)
3035: JRST DLYCR1
CLKSER page# 0060 next prev
3037:
3038:
3039:
3040:
3041:
3042: CONTC:
3043: CONT: MOVSI TAC1,JERR
3044: TDNE TAC1,JBTSTS(J)
3045: JRST NOCONT
3046: MOVNI TAC1,RUNQ
3047: MOVEM TAC1,JOBQUE(J)
3048: JRST REQUE
3049:
3050: NOCONT: JSP TAC,ERRMES
3051: ASCIZ /CAN'T CONTINUE
3052: /
3053:
3054:
3055:
3056:
3057: DDTGO: HRRZ TAC1,JOBDDT(JDAT)
3058: JUMPN TAC1,DDTG1
3059:
3060:
3061: JSP TAC,ERRMES
3062: ASCIZ /NO DDT
3063: /
3064:
3065:
3066: DDTG1: HLRZ TAC,PROG
3067: CAIG TAC1,(TAC)
3068: JRST USTART
3069: MOVE TAC1,JOBPC(PROG)
3070: TLNN TAC1,USRMOD
3071: JRST DDTG2
3072: MOVSI TAC,JOBDAC(PROG)
3073: HRRI TAC,(PROG)
3074: BLT TAC,17(PROG)
3075: DDTG2: JSP TAC1,MONJOB
3076: JSP TAC,MONSTR
3077: PUSHJ P,UNPURE
3078: JRST DDTPUR
3079: DDTG3: HRRZ TAC,JOBDDT(PROG)
3080: HLL TAC,JOBOPC(PROG)
3081: TLO TAC,USRMOD
3082: TLZ TAC,4037
3083: MOVEM TAC,UUOPC(J)
3084: JRST USRXIT
3085:
3086: DDTPUR: MOVE J,JOB(PID)
3087: PUSHJ P,TTYERP
3088: PUSHJ P,INLMES
3089: ASCIZ /COULDN'T UNPURIFY UPPER. CONTINUE TO TRY ANYWAY./
3090: PUSHJ P,PRCRCC
3091: PUSHJ P,TTYSTC
3092: PUSHJ P,SETSTP
3093: JRST DDTG3
CLKSER page# 0061 next prev
3095:
3096: SETWPS: PUSH P,[-1,,0]
3097: CAIA
3098: CLRWPS: PUSH P,[0]
3099: PUSHJ P,OCTIN
3100: JRST NOSPRO
3101: JRST [ POP P,(P)
3102: JRST COMERA]
3103: CAILE TAC1,777
3104: JRST ILLPRO
3105: TRO TAC1,400000
3106: HRRM TAC1,(P)
3107: NOSPRO: PUSH P,J
3108: LDB J,PSEGN
3109: JUMPE J,NXSEG
3110: PUSHJ P,ACCESS
3111: JRST WPSEG
3112: JRST WPSEG
3113: HRRZ TAC1,-1(P)
3114: TRNN TAC1,400000
3115: JRST NOSPR1
3116: MOVE TAC1,(P)
3117: MOVE TAC1,JBTPRV(TAC1)
3118: TLNN TAC1,SEGPRV
3119: TRNN TAC,400
3120: CAIA
3121: JRST WPSEG
3122: HRRZ TAC1,-1(P)
3123: ANDI TAC1,377
3124: DPB TAC1,[POINT 9,JOBCRD(J),8]
3125: NOSPR1: MOVSI TAC,JWP
3126: SKIPGE -1(P)
3127: IORB TAC,JBTSTS(J)
3128: SKIPL -1(P)
3129: ANDCAB TAC,JBTSTS(J)
3130: POP P,-1(P)
3131: HLRZ TAC1,JBTADR(J)
3132: TLNE TAC,JWP
3133: TLO TAC1,400000
3134: MOVE TAC,J
3135: MOVEI J,JOBN-1
3136: SETRLC: LDB AC1,PSEGN
3137: CAMN AC1,TAC
3138: SKIPN PROG,JBTADR(J)
3139: CAIA
3140: MOVEM TAC1,JOBRL2(PROG)
3141: SOJG J,SETRLC
3142: POP P,J
3143: POPJ P,
3144:
3145: NXSEG: POP P,J
3146: POP P,(P)
3147: JSP TAC,ERRMES
3148: ASCIZ /NO UPPER SEGMENT!
3149: /
3150:
3151: WPSEG: POP P,J
3152: POP P,(P)
3153: JSP TAC,ERRMES
3154: ASCIZ /SORRY, PROTECTION FAILURE!
3155: /
3156:
3157: ILLPRO: POP P,(P)
3158: JSP TAC,ERRMES
3159: ASCIZ /ILLEGAL PROTECTION CODE!
3160: /
3161:
3162: DISABL: PUSHJ P,PRVSET
3163: JRST NXPRV
3164: HRLOI TAC,-1-LUPPRV
3165: JFCL
3166: ANDCAM TAC,JBTPRV(J)
3167: POPJ P,
3168:
3169: ENABLE: PUSHJ P,PRVSET
3170: JRST NXPRV
3171: SKIPA TAC,JB2PRV(J)
3172: JRST ILLPRV
3173: IORM TAC,JBTPRV(J)
3174: POPJ P,
3175:
3176: NXPRV: JSP TAC,ERRMES
3177: ASCIZ /NO SUCH PRIVILEGE!
3178: /
3179:
3180: ILLPRV: JSP TAC,ERRMES
3181: ASCIZ /SORRY, YOU CAN'T HAVE THAT PRIVILEGE!
3182: /
3183:
3184:
3185: DEFINE XLPRIV(NAM,VAL)< 'NAM',,VAL>
3186: DEFINE XRPRIV(NAM,VAL)<>
3187:
3188: ↑LFTTAB:PRIVS
3189: ↑LFTLEN←←.-LFTTAB
3190:
3191:
3192: DEFINE XLPRIV(NAM,VAL)<>
3193: DEFINE XRPRIV(NAM,VAL)<'NAM',,VAL>
3194:
3195: ↑RHTTAB:PRIVS
3196: ↑RHTLEN←←.-RHTTAB
3197:
3198:
3199: PRVSET: PUSHJ P,CTEXT1
3200: JUMPE TAC1,CPOPJ1
3201: IFG LFTLEN,<
3202: MOVSI TAC,-LFTLEN
3203: FNDLFT: HLLZ AC1,LFTTAB(TAC)
3204: CAMN AC1,TAC1
3205: JRST ISLFT
3206: AOBJN TAC,FNDLFT
3207: >
3208: IFG RHTLEN,<
3209: MOVSI TAC,-RHTLEN
3210: FNDRHT: HLLZ AC1,RHTTAB(TAC)
3211: CAMN AC1,TAC1
3212: JRST ISRHT
3213: AOBJN TAC,FNDRHT
3214: >
3215: POPJ P,
3216:
3217: ISLFT: HRLZ TAC,LFTTAB(TAC)
3218: CAIA
3219: ISRHT: HRRZ TAC,RHTTAB(TAC)
3220: AOS (P)
3221: AOS (P)
3222: TDNE TAC,[RSPRVS]
3223: POPJ P,
3224: MOVE AC1,JB2PRV(J)
3225: TLNN AC1,PRIPRV
3226: TDNE TAC,AC1
3227: AOS (P)
3228: POPJ P,
CLKSER page# 0062 next prev
3230:
3231:
3232:
3233:
3234:
3235:
3236: CORE: PUSHJ P,DECIN
3237: JRST COR4
3238: JRST COMERA
3239: IFN FTLOGIN,<
3240: MOVE TAC,JBTSTS(J)
3241: TLNN TAC,JLOG
3242: JRST LOGPLS
3243: >
3244: PUSHJ P,CLRTPV
3245: IFN FTSWAP,<
3246: MOVE AC1,SWAPLIMIT
3247: LSH AC1,-12
3248: CAMLE TAC1,AC1
3249: JRST CORFX1
3250: TLNN TAC,SWP
3251: JRST COR3
3252: JUMPN PROG,DLYCR1
3253: SKIPN TAC,TAC1
3254: JRST CORX
3255: SOS (PDP)
3256: JRST CORE0K
3257:
3258:
3259: COR3:>
3260: JUMPE TAC1,COR0
3261: MOVE TAC,TAC1
3262: LSH TAC,12
3263: SUBI TAC,1
3264: PUSH P,JBTADR(J)
3265: LDB TAC1,PSEGN
3266: SKIPE TAC1
3267: PUSHJ P,CORSGT
3268: ADD TAC1,TAC
3269: CAMLE TAC1,CORMAX
3270: JRST CORFX
3271: PUSHJ P,CORE0
3272: JRST CORFX
3273: POP P,AC1
3274: SKIPE AC1
3275: CORX1: POPJ P,DLYCOR-1
3276: PUSHJ P,CLRJOB
3277: SETZM JOBSA(PROG)
3278: JRST CORX1
3279:
3280: CORFX: POP P,(P)
3281: CORFX1: MOVE DDB,-2(P)
3282: JSP TAC,ERRMES
3283: ASCIZ /NOT ENOUGH CORE!
3284: /
CLKSER page# 0063 next prev
3286: COR4: MOVSI TAC,NOINCK
3287: IORM TAC,-1(PDP)
3288: MOVE DEVDAT,-2(P)
3289: IFE FTSWAP,<
3290: MOVE TAC,CORTAL
3291: PUSHJ P,RADX10
3292: PUSHJ P,INLMES
3293: CORMES: ASCIZ /K CORE LEFT
3294: /
3295: POPJ P,
3296: >
3297: IFN FTSWAP,<
3298: IFN FTLOGIN,<
3299: MOVE TAC,JBTSTS(J)
3300: TLNN TAC,JLOG
3301: JRST COR2.1
3302: >
3303: MOVEI TAC1,(J)
3304: PUSHJ P,CORSGT
3305: LSH TAC1,-12
3306: MOVEI TAC,(TAC1)
3307: PUSHJ P,RADX10
3308: PUSHJ P,INLMES
3309: ASCIZ /K IS YOUR JOB SIZE.
3310: /
3311: LDB TAC1,PSEGN
3312: JUMPE TAC1,COR2.1
3313: PUSHJ P,CORSGT
3314: LSH TAC1,-12
3315: MOVEI TAC,(TAC1)
3316: PUSHJ P,RADX10
3317: PUSHJ P,INLMES
3318: ASCIZ /K IS YOUR UPPER.
3319: /
3320: COR2.1: MOVE TAC,CORMAX
3321: CAMLE TAC,SWAPLIMIT
3322: MOVE TAC,SWAPLIMIT
3323: LSH TAC,-12
3324: PUSHJ P,RADX10
3325: PUSHJ P,INLMES
3326: ASCIZ /K MAX.
3327: /
3328: MOVE TAC,CORMAX
3329: CAMG TAC,SWAPLIMIT
3330: POPJ P,
3331: LSH TAC,-12
3332: PUSHJ P,RADX10
3333: PUSHJ P,INLMES
3334: ASCIZ /K USER CORE.
3335: /
3336: POPJ P,
3337: >
3338: ↑LOGPLS:JSP TAC,ERRMES
3339: ASCIZ /LOGIN PLEASE
3340: /
CLKSER page# 0064 next prev
3342: PRJOB: PUSHJ P,INLMES
3343: ASCIZ /JOB /
3344: MOVE TAC,J
3345: PUSHJ P,RADX10
3346: PUSHJ P,PRSPC
3347: PRCONF: MOVEI TAC,CONFIG
3348: JRST CONMES
3349:
3350:
3351: HELLO: PUSHJ P,PRCONF
3352: JRST CRLF
3353:
3354: IFN FTLOGIN,<
3355:
3356:
3357: LOGREF: MOVEM TAC,PRJPRG(J)
3358: MOVSI TAC,JLOG
3359: IORM TAC,JBTSTS(J)
3360: MOVSI TAC,LUPPRV!PRIPRV
3361: MOVEM TAC,JBTPRV(J)
3362: MOVEM TAC,JB2PRV(J)
3363: SETZM -1(P)
3364: SETZM REFLAG
3365: POPJ P,
3366: >
CLKSER page# 0065 next prev
3368:
3369:
3370:
3371: IFN FTLOGIN,<
3372: HELP1: MOVE TAC,HELPPP
3373: TLNE AC1,JLOG
3374: POPJ P,
3375: PUSHJ P,ALOGIN
3376: MOVSI TAC1,LUPPRV
3377: IORM TAC1,JBTPRV(J)
3378: JRST SETLOG
3379: >
3380:
3381: HELP:
3382: IFN FTLOGIN,<
3383: PUSHJ PDP,HELP1
3384: >
3385: PUSH P,['HELP ']
3386: JRST ARCOM
3387:
3388: WHECOM:
3389: IFN FTLOGIN,<
3390: PUSHJ P,HELP1
3391: >
3392: PUSH P,['WHERE ']
3393: JRST ARCOM
3394:
3395: WHOCOM:
3396: IFN FTLOGIN,<
3397: PUSHJ P,HELP1
3398: >
3399: PUSH P,['WHO ']
3400: JRST ARCOM
3401:
3402: FIXIML:
3403: IFN FTLOGIN,<
3404: PUSHJ P,HELP1
3405: >
3406: PUSH P,['FIXIML']
3407: JRST ARCOM
3408:
3409: FNDCOM:
3410: IFN FTLOGIN,<
3411: PUSHJ P,HELP1
3412: >
3413: PUSH P,['FIND ']
3414: JRST ARCOM
CLKSER page# 0066 next prev
3416:
3417:
3418: ALOGIN:
3419: IFN FTLOGIN,<
3420: MOVEM TAC,PRJPRG(J)
3421: IFN FTDISK,<
3422: SETZM JBTUFD(J)
3423: IFN FTDSKPPN,< SETZM DSKPPN(J)
3424: >
3425: SETZM JBTKCJ(J)
3426: MOVSI TAC,JLOG
3427: ANDCAM TAC,JBTSTS(J)
3428: >
3429: IFN FTSWAP,<
3430: ALOGN1: PUSHJ P,TTYATI
3431:
3432:
3433: JFCL
3434: >
3435: POPJ P,
3436:
3437: SETTPV: ANDCM TAC,JBTPRV(J)
3438: IORM TAC,JBTPRV(J)
3439: IORM TAC,JBTTPV(J)
3440: POPJ P,
3441:
3442: CLRTPV: EXCH TAC,JBTTPV(J)
3443: ANDCAM TAC,JBTPRV(J)
3444: MOVEI TAC,0
3445: EXCH TAC,JBTTPV(J)
3446: POPJ P,
CLKSER page# 0067 next prev
3448:
3449:
3450: IFN FTLOGIN,<
3451:
3452: LOGDET: JSP TAC,ERRMES
3453: ASCIZ /PLEASE KJOB OR DETACH
3454: /
3455:
3456: CLOGIN: TLNE AC1,JLOG
3457: JRST LOGDET
3458: SKIPE TAC,REFLAG
3459: JRST LOGREF
3460: JRST .+2
3461: CXLOGI: MOVEI TAC,1
3462: HRRM TAC,SAVSAI(J)
3463: MOVE TAC,DUMPPN
3464: PUSHJ P,ALOGIN
3465: MOVSI TAC,JACCT
3466: IORM TAC,JBTSTS(J)
3467: PUSHJ P,SKPBRK
3468: MOVE TAC,[SIXBIT /LOGIN/]
3469: MOVEM TAC,JOBNAM(J)
3470: IFN FTSTAT,<PUSHJ P,NAMSTT>
3471: MOVSI TAC1,'DSK'
3472: JRST RUNCO2
3473: >
3474:
3475:
3476:
3477: RPGCOM: PUSH PDP,[SIXBIT /RPG/]
3478: JRST ARCOM
3479:
3480: ETCOM: PUSH P,['E ']
3481: JRST ARCOM
3482:
3483: DSCCOM: PUSH PDP,[SIXBIT /DART /]
3484: JRST ARCOM
3485:
3486: CPYCOM: PUSH PDP,[SIXBIT /COPY/]
3487: JRST ARCOM
3488:
3489: MAICOM: PUSH P,[SIXBIT/MAIL/]
3490: JRST ARCOM
3491:
3492: OBLCOM: PUSH P,['FORGET']
3493: JRST ARCOM
3494:
3495: RCVCOM: PUSH P,[SIXBIT /RCV/]
3496: IFN FTLOGIN,<
3497: PUSHJ P,HELP1
3498: >
3499: JRST ARCOM
3500:
3501: NSCOM: PUSH P,[SIXBIT /NS/]
3502: NSCOM1: MOVE TAC,JBTPRV(J)
3503: TLNN TAC,LUPPRV
3504: JRST NSCOM2
3505: MOVSI TAC,REAPRV
3506: PUSHJ P,SETTPV
3507: PUSH P,[SIXBIT / 1 2/]
3508: JRST ARPCOM
3509:
3510: NSCOM2: POP P,TAC
3511: JRST COMERR
3512:
3513: UDPCOM: PUSH P,[SIXBIT /UDPUFD/]
3514: MOVE TAC,JBTPRV(J)
3515: TLNN TAC,LUPPRV
3516: JRST NSCOM2
3517: MOVSI TAC,INFPRV!DAWPRV!WRTPRV!PROPRV
3518: PUSHJ P,SETTPV
3519: PUSH P,[SIXBIT / 1 2/]
3520: JRST ARPCOM
3521:
3522: HOTCOM: PUSH P,[SIXBIT /HOT/]
3523: JRST NSCOM1
3524:
3525: SPLCOM:
3526: IFN FTLOGIN,<
3527: PUSHJ P,HELP1
3528: >
3529: PUSH P,[SIXBIT /SPOOL/]
3530: JRST ARCOM
3531:
3532: FINGER:
3533: IFN FTLOGIN,<
3534: PUSHJ P,HELP1
3535: >
3536: PUSH P,[SIXBIT /FINGER/]
3537: JRST ARCOM
3538:
3539: LSPCOM: PUSH P,[SIXBIT /LISP/]
3540: JRST ARCOM
3541:
3542: DOCOM: PUSH P,[SIXBIT /DO/]
3543: JRST ARCOM
3544:
3545: ZERCOM: PUSH P,[SIXBIT /ZERO/]
3546: JRST ARCOM
3547:
3548: XERCOM: PUSH P,[SIXBIT /XEROX/]
3549: JRST ARCOM
3550:
3551: TSTCOM: PUSH P,[SIXBIT /TEST/]
3552: JRST ARCOM
3553:
3554: RSLCOM: PUSH P,[SIXBIT /RSL/]
3555: JRST ARCOM
3556:
3557: TNCOM: PUSH P,[SIXBIT /T/]
3558: JRST ARCOM
3559:
3560: FTPCOM: PUSH P,[SIXBIT /FTP/]
3561: JRST ARCOM
3562:
3563: DILCOM: PUSH P,[SIXBIT /DIAL/]
3564: JRST ARCOM
CLKSER page# 0068 next prev
3566:
3567:
3568:
3569:
3570:
3571: ARCOM: TDZA TAC,TAC
3572: AXCOM: MOVEI TAC,1
3573: PUSHJ P,SKPBRK
3574: ARCOM1: HRRM TAC,SAVSAI(J)
3575: POP P,JOBNAM(J)
3576: IFN FTSTAT,< PUSHJ P,NAMSTT>
3577: MOVSI TAC1,'SYS'
3578: JRST RUNCO2
3579:
3580:
3581: AXXCOM: MOVSI TAC,NOSKPB
3582: IORM TAC,-2(P)
3583: MOVEI TAC,2
3584: JRST ARCOM1
3585:
3586:
3587:
3588: ARPCOM: HLLZS SAVSAI(J)
3589: POP P,JOBPPN(J)
3590: PUSHJ P,SKPBRK
3591: POP P,JOBNAM(J)
3592: IFN FTSTAT,< PUSHJ P,NAMSTT>
3593: MOVSI TAC1,'DSK'
3594: JRST RUNCO4
3595:
3596:
3597: RCOM: PUSH P,[0]
3598: MOVEI TAC,0
3599: JRST ARCOM1
3600:
3601:
3602:
3603:
3604:
3605:
3606: RUNCOM: PUSHJ P,CTEXT1
3607: SETZM JOBNAM(J)
3608: IFN FTSTAT,< PUSHJ P,NAMSTT>
3609: HLLZS SAVSAI(J)
3610: RUNCO2: SETZM JOBPPN(J)
3611: RUNCO4: MOVEI IOS,RUNJOB
3612: RUNCM: PUSH P,IOS
3613: JUMPN PROG,RUNCO1
3614: PUSH P,TAC1
3615: MOVEI TAC,ASSPRG
3616: ANDCAM TAC,DEVMOD(DDB)
3617: MOVEI TAC,JOBDA
3618: PUSHJ P,CORE0
3619: JFCL
3620: POP P,TAC1
3621: RUNCO1: POP P,IOS
3622: IFE FTSWAP,< JUMPN PROG,RUNCO3
3623: JSP TAC,ERRMES
3624: ASCIZ /CORE IS FULL
3625: /
3626: RUNCO3:>
3627: IFN FTSWAP,< JUMPE PROG,DLYCOR
3628: MOVEM UUO,COMWRD(PROG)
3629: MOVEM TEM,CHRWRD(PROG)
3630: SKIPN AC2,JOBPPN(J)
3631: JRST SGSET
3632: JRST SGSET0
3633:
3634:
3635:
3636:
3637:
3638: GET: MOVEI IOS,GETJOB
3639: PUSHJ P,CTEXT1
3640: SETZM JOBNAM(J)
3641: SETZM JOBPPN(J)
3642: IFN FTSTAT,< PUSHJ P,NAMSTT>
3643: JRST RUNCM
3644:
3645:
3646:
3647:
3648:
3649:
3650:
3651: SSAVE: TROA IOS,SSAVJB
3652: SAVE: MOVEI IOS,SAVJOB
3653: PUSHJ P,CTEXT1
3654: SETZM JOBNAM(J)
3655: IFN FTSTAT,< PUSHJ P,NAMSTT>
3656: JRST SGSET
CLKSER page# 0069 next prev
3658:
3659:
3660: ASSIGN: MOVEI AC1,0
3661: ASSPP9: PUSHJ P,CTEXT1
3662: JUMPE TAC1,NOTENF
3663: MOVEI AC2,0
3664: MOVSI TAC,770000
3665: ASSPP1: TDNN TAC,TAC1
3666: JRST ASSPP2
3667: IORM TAC,AC2
3668: LSH TAC,-6
3669: JUMPN TAC,ASSPP1
3670: ASSPP2: MOVSI TAC,-NASATT
3671: ASSPP3: CAMN TAC1,ASATTT(TAC)
3672: JRST ASSPP0
3673: MOVE AC3,ASATTT(TAC)
3674: AND AC3,AC2
3675: CAMN TAC1,AC3
3676: TLON AC1,400000(TAC)
3677: AOBJN TAC,ASSPP3
3678: JUMPL TAC,ASSPPX
3679: JUMPGE AC1,ASSPPX
3680: LDB TAC,[POINT 17,AC1,17]
3681: ASSPP0: TDNE AC1,ASATBB(TAC)
3682: JRST COMERR
3683: IOR AC1,ASATTB(TAC)
3684: MOVEI AC1,(AC1)
3685: JRST ASSPP9
3686:
3687: PUBBIT←←1
3688: PRIBIT←←2
3689: OLDBIT←←4
3690:
3691: ASATTT: 'PUBLIC'
3692: 'PRIVAT'
3693: 'OLD '
3694: NASATT←←.-ASATTT
3695:
3696: ASATTB: PUBBIT
3697: PRIBIT
3698: OLDBIT
3699: IFN .-ASATTB-NASATT,<PRINTS /SOMEONE CAN'T COUNT AT ASATTB
3700: />
3701:
3702: ASATBB: PRIBIT!OLDBIT
3703: PUBBIT!OLDBIT
3704: PUBBIT!PRIBIT
3705: IFN .-ASATBB-NASATT,<PRINTS /ASATBB WRONG SIZE
3706: />
3707:
3708: ASSPPX: MOVE AC2,TAC1
3709: PUSHJ P,CTEXT1
3710: MOVEM TAC1,ASSLGN
3711: MOVE TAC1,AC2
3712: HRRZS (P)
3713: PUSH P,DDB
3714: MOVE TAC,TAC1
3715: PUSH P,AC1
3716: PUSHJ P,DEVPHY
3717: JRST ASSG3
3718: POP P,AC1
3719: MOVEI TAC1,ASSCON
3720: JRST ASSG4
3721:
3722: ASSG3: POP P,AC1
3723: MOVEI TAC1,ASSCON
3724: HLRZ DDB,DEVLST
3725: ASSG0: MOVE TAC,DEVNAM(DDB)
3726: CAME AC2,DEVNAM(DDB)
3727: JRST ASSG1
3728: ASSG4: CAMN AC2,[SIXBIT /DSK/]
3729: JRST ASSG5
3730: CAMN TAC,SYSTAP
3731: JRST ASSFIN
3732: ASSG5: PUSHJ P,ASSUDP
3733: JRST ASSR1A
3734: PUSHJ P,ASSCKS
3735: JRST ASLNOK
3736: PUSHJ P,ASSASG
3737: JRST ASSER1
3738: JRST ASSFIN
3739:
3740: ASSUDP: HLRZ AC3,TAC
3741: CAIE AC3,'UDP'
3742: JRST CPOPJ1
3743: LDB AC3,PUNIT
3744: CAME AC2,[SIXBIT /UDP/]
3745: JRST ASSUD1
3746: SKIPE UDPCNT-1(AC3)
3747: POPJ P,
3748: ASSUD2: TRNE AC1,PUBBIT
3749: JRST AUDPPB
3750: TRNE AC1,OLDBIT
3751: JRST AUDPOL
3752: TRNN AC1,PRIBIT
3753: JRST CPOPJ1
3754: PUSHJ P,AUDPNU
3755: PUSHJ P,AUDPPV
3756: JFCL
3757: JRST CPOPJ1
3758:
3759: AUDPPV: SKIPN UDPCNT-1(AC3)
3760: JRST ASSUD3
3761: PUSH P,DDB
3762: ASSUD4: HLRZ DDB,DEVSER(DDB)
3763: JUMPE DDB,ASSUD5
3764: CAME AC2,DEVNAM(DDB)
3765: JRST ASSUD5
3766: LDB TAC,PJOBN
3767: CAIN TAC,(J)
3768: JRST ASSUD4
3769: MOVE DDB,-3(P)
3770: PUSHJ P,INLMES
3771: ASCIZ /ALREADY IN USE, CAN'T MAKE PRIVATE.
3772: /
3773: POP P,DDB
3774: MOVE TAC,DEVNAM(DDB)
3775: POPJ P,
3776:
3777: ASSUD5: POP P,DDB
3778: ASSUD3: MOVE TAC,DEVNAM(DDB)
3779: MOVEM J,UDPOWN-1(AC3)
3780: JRST CPOPJ1
3781:
3782: ASSUD1: SKIPL UDPOWN-1(AC3)
3783: CAMN J,UDPOWN-1(AC3)
3784: JRST ASSUD2
3785: POPJ P,
3786:
3787: AUDPPB: PUSHJ P,AUDPNU
3788: LDB AC3,PUNIT
3789: MOVE TAC,DEVMOD(DDB)
3790: TLNE TAC,DVDSK
3791: SETOM UDPOWN-1(AC3)
3792: JRST CPOPJ1
3793:
3794: AUDPNU: LDB AC3,PUNIT
3795: MOVE TAC,DEVMOD(DDB)
3796: TLON TAC,DVDSK
3797: SKIPN UDPCNT-1(AC3)
3798: JRST AUDNOK
3799: EXCH DDB,-2(P)
3800: PUSHJ P,INLMES
3801: ASCIZ /ALREADY IN USE, CAN'T CHANGE FORMAT.
3802: /
3803: EXCH DDB,-2(P)
3804: MOVE TAC,DEVNAM(DDB)
3805: POPJ P,
3806:
3807: AUDNOK: MOVEM TAC,DEVMOD(DDB)
3808: MOVEI TAC,DSKDSP
3809: HRRM TAC,DEVSER(DDB)
3810: MOVE TAC,DEVNAM(DDB)
3811: POPJ P,
3812:
3813: AUDPOL: PUSHJ P,AUDPPV
3814: JRST CPOPJ1
3815: AOS (P)
3816: LDB AC3,PUNIT
3817: MOVE TAC,DEVMOD(DDB)
3818: TLZE TAC,DVDSK
3819: SKIPN UDPCNT-1(AC3)
3820: JRST AUDOOK
3821: EXCH DDB,-2(P)
3822: PUSHJ P,INLMES
3823: ASCIZ /ALREADY IN USE, CAN'T CHANGE FORMAT.
3824: /
3825: EXCH DDB,-2(P)
3826: MOVE TAC,DEVNAM(DDB)
3827: POPJ P,
3828:
3829: AUDOOK: MOVEM TAC,DEVMOD(DDB)
3830: MOVEI TAC,UDPDSP
3831: HRRM TAC,DEVSER(DDB)
3832: MOVE TAC,DEVNAM(DDB)
3833: POPJ P,
3834:
3835:
3836: ASSCKS: MOVE AC3,DEVCMR(DDB)
3837: TLNN AC3,DEVSHR
3838: JRST CPOPJ1
3839: MOVE AC3,DDB
3840: ASCKS1: LDB TAC,[POINT 6,DEVCHR(AC3),5]
3841: CAIE TAC,(J)
3842: JRST ASCKS9
3843: MOVE TAC,DEVMOD(AC3)
3844: TRNN TAC,ASSCON
3845: JRST ASCKS9
3846: SKIPE TAC,DEVLOG(AC3)
3847: CAMN TAC,ASSLGN
3848: JRST ASCKS2
3849: SKIPE ASSLGN
3850: JRST ASCKS9
3851: ASCKS2: MOVE DDB,AC3
3852: POPJ P,
3853:
3854: ASCKS9: HLRZ AC3,DEVSER(AC3)
3855: JUMPE AC3,CPOPJ1
3856: MOVE TAC,DEVNAM(AC3)
3857: CAMN TAC,DEVNAM(DDB)
3858: JRST ASCKS1
3859: JRST CPOPJ1
3860:
3861:
3862:
3863: ASSG1: CAMN TAC,SYSTAP
3864: JRST ASSG2
3865: LDB AC3,PJOBN
3866: MOVEM AC3,ASSJBN
3867: TRZ TAC,-1
3868: CAME TAC,AC2
3869: JRST ASSG2
3870: HRROS -1(P)
3871: PUSHJ P,ASSUDP
3872: JRST ASSG2
3873: PUSHJ P,ASSCKS
3874: JRST ASLNOK
3875: PUSHJ P,ASSASG
3876: JRST ASSG2
3877: SKIPN ASSJBN
3878: JRST ASSFIN
3879:
3880:
3881: ASSG2: HLRZ DDB,DEVSER(DDB)
3882: JUMPN DDB,ASSG0
3883: POP P,DDB
3884: SKIPL (P)
3885: JRST NOTDEV
3886: MOVE DDB,-2(P)
3887: PUSHJ P,INLMES
3888: ASCIZ /SORRY, NO /
3889: MOVE TAC1,AC2
3890: PUSHJ P,PRNAME
3891: JSP TAC,CONMES
3892: ASCIZ /'S AVAILABLE.
3893: /
CLKSER page# 0070 next prev
3895:
3896:
3897: ASSR1A: LDB TAC,PUNIT
3898: SKIPA TAC,UDPOWN-1(TAC)
3899: ASSER1: LDB TAC,PJOBN
3900: POP P,DDB
3901: PUSH P,TAC
3902: MOVEI TAC,ASSMS2
3903: PUSHJ P,ERRMES
3904: POP P,TAC
3905: JRST DECLF
3906:
3907: ASSMS2: ASCIZ /ALREADY ASSIGNED TO JOB /
3908:
3909:
3910:
3911: ASSFIN: SETZM DEVLOG(DDB)
3912: ASLNOK: EXCH DDB,(P)
3913: MOVE TAC1,ASSLGN
3914: SKIPN TAC,TAC1
3915: JRST DEFASS
3916: PUSHJ P,DEVLG
3917: JRST ASSF1
3918: MOVEI TAC,LOGERR
3919: MOVE DDB,-3(P)
3920: PUSHJ P,ERRMES
3921: DEFLOS: MOVEI TAC,0
3922: ASSF1: POP P,DDB
3923: SKIPN DEVLOG(DDB)
3924: MOVEM TAC,DEVLOG(DDB)
3925: MOVSI TAC1,DVDIRIN
3926: ANDCAM TAC1,DEVMOD(DDB)
3927: MOVE TAC1,DEVNAM(DDB)
3928: MOVE AC2,DDB
3929: MOVE DDB,-2(P)
3930: PUSHJ P,PRNAME
3931: PUSHJ P,INLMES
3932: ASCIZ / ASSIGNED/
3933: SKIPN DEVLOG(AC2)
3934: JRST NOLOGP
3935: PUSHJ P,INLMES
3936: ASCIZ / AS /
3937: MOVE TAC1,DEVLOG(AC2)
3938: PUSHJ P,PRNAME
3939: NOLOGP: JSP TAC,CONMES
3940: ASCIZ/
3941: /
3942:
3943: LOGERR: ASCIZ /LOGICAL NAME ALREADY IN USE, /
3944:
3945: DEFASS: MOVE DDB,(P)
3946: CAME AC2,DEVNAM(DDB)
3947: CAMN AC2,['TTY ']
3948: JRST ASSF1
3949: MOVE TAC,AC2
3950: PUSHJ P,DEVLG
3951: JRST ASSF1
3952: JRST DEFLOS
CLKSER page# 0071 next prev
3954:
3955:
3956:
3957: DEASSI: JUMPE ITEM,CPOPJ
3958: PUSHJ PDP,CTEXT1
3959: JUMPE TAC1,DEALL
3960: MOVE TAC, TAC1
3961: DEAER4: PUSHJ PDP,DEVLG
3962: JRST DEAER3
3963: PUSHJ PDP,DEASG
3964: CAIA
3965: JRST DEADON
3966: PUSH PDP,[DEAER4+1]
3967: JRST DEV0
3968: DEAER3: PUSHJ PDP,DEVPHY
3969: JRST DEAER2
3970: PUSHJ PDP,DEASG
3971: CAIA
3972: JRST DEADON
3973: MOVE AC1,DEVMOD(DDB)
3974: TLNE AC1,DVTTY
3975: POPJ P,
3976:
3977: PUSH PDP,[DEAER3+1]
3978: JRST DEVLP2
3979:
3980: DEADON: MOVE AC1,DEVMOD(DDB)
3981: TLNE AC1,TTYATC
3982: POPJ P,
3983: TRNN AC1,ASSPRG
3984: JRST DEADN1
3985: MOVE TAC1,DEVNAM(DDB)
3986: MOVE DDB,-2(P)
3987: PUSHJ P,PRNAME
3988: JSP TAC,ERRMES
3989: ASCIZ/ DEASSIGNED, BUT STILL INITED!
3990: /
3991:
3992: DEADN1: TLNN AC1,DVTTY
3993: POPJ P,
3994: JRST TTYREL
3995:
3996: ↑NOTDEV:
3997: DEAER1: MOVE DEVDAT,-2(PDP)
3998: JSP TAC,ERRMES
3999:
4000: ASCIZ /NO SUCH DEVICE
4001: /
4002:
4003: DEAER2: MOVE TAC1,TAC
4004: MOVE DEVDAT,-2(PDP)
4005: PUSHJ PDP,PRNAME
4006: JSP TAC,ERRMES
4007:
4008: ASCIZ / WASN'T ASSIGNED
4009: /
4010:
4011: DEALL: PUSH P,DDB
4012: SETZ DDB,
4013: PUSHJ P,DEASTY
4014: POP P,DDB
4015: POPJ P,
CLKSER page# 0072 next prev
4017:
4018:
4019:
4020:
4021:
4022:
4023:
4024:
4025:
4026: ↑REASSI:
4027: LDB UUO,PUUOAC
4028: HRLI UUO,PROG
4029: PUSH PDP,@UUO
4030: AOS UUO
4031: MOVE TAC1,@UUO
4032: MOVE ITEM,JOB(PID)
4033: SOJA UUO,REASS1
4034:
4035:
4036:
4037:
4038: REASS:
4039: PUSHJ PDP,CTEXT1
4040: JUMPE TAC1,NOTENF
4041: MOVE UUO,TAC1
4042: PUSHJ PDP,DECIN1
4043: JRST NOTENF
4044: JRST COMERA
4045: PUSH PDP,TAC1
4046: MOVE TAC1,UUO
4047: SETZM UUO
4048:
CLKSER page# 0073 next prev
4050:
4051:
4052:
4053: REASS1: EXCH ITEM,(PDP)
4054: MOVE TAC,JBTSTS(ITEM)
4055: EXCH ITEM,(PDP)
4056: TLNN TAC,JNA
4057: JRST REASE1
4058: MOVE TAC,TAC1
4059: PUSHJ PDP,FNDDDB
4060: JRST REASE2
4061: LDB TAC,PJOBN
4062: CAME TAC,ITEM
4063: JRST REASE3
4064: MOVE TAC,DEVMOD(DEVDAT)
4065: TLNE TAC,TTYATC
4066: JRST REASE6
4067: TRNN TAC,ASSPRG
4068: JRST REASS3
4069: JUMPN UUO,REASS4
4070: HRL DEVDAT,(PDP)
4071: MOVEM DEVDAT,JOBFDV(JDAT)
4072: POP PDP,TAC1
4073: MOVE DEVDAT,-2(PDP)
4074: MOVSI TAC1,TTYRNC
4075: IORM TAC1,-1(PDP)
4076: JSP TAC1,MSTART
4077: JSP TAC,MONSTR
4078: HLRZ TAC,JOBFDV(JDAT)
4079: PUSH PDP,TAC
4080: HRRZ DEVDAT,JOBFDV(JDAT)
4081: MOVE ITEM,JOB(PID)
4082: SETOM UUO
CLKSER page# 0074 next prev
4084: REASS4: HRRZ DSER,DEVSER(DEVDAT)
4085: HRRZM DEVDAT,JOBFDV(JDAT)
4086: SKIPGE UCHN,USRHCU(PID)
4087: JRST REASS3
4088: REASS2: HRRZ DEVDAT,USRJDA(UCHN)
4089: PUSH PDP,UCHN
4090: CAME DEVDAT,JOBFDV(JDAT)
4091: JRST REASS8
4092: HLL DEVDAT,USRJDA(UCHN)
4093: PUSHJ PDP,RELEA5
4094: REASS8: POP PDP,UCHN
4095: SOJGE UCHN,REASS2
4096: SKIPL UCHN,JBTIOP(J)
4097: JRST REAST1
4098: REAST2: HRRZ DDB,(UCHN)
4099: CAME DDB,JOBFDV(JDAT)
4100: JRST REAST3
4101: MOVE DDB,USRJDA
4102: EXCH DDB,(UCHN)
4103: MOVEM DDB,USRJDA
4104: PUSH P,UCHN
4105: SETZ UCHN,
4106: PUSHJ P,RELEA5
4107: POP P,UCHN
4108: MOVE DDB,(UCHN)
4109: EXCH DDB,USRJDA
4110: MOVEM DDB,(UCHN)
4111: REAST3: ADD UCHN,[1,,1]
4112: AOBJN UCHN,REAST2
4113: REAST1: MOVE DEVDAT,JOBFDV(JDAT)
4114: REASS3: MOVEI TAC,ASSCON
4115: IORM TAC,DEVMOD(DEVDAT)
4116: POP P,J
4117: DPB J,PJOBN
4118: SETZM DEVLOG(DDB)
4119: MOVE J,JOB(PID)
4120: JUMPL UUO,ESTOP
4121: POPJ PDP,
CLKSER page# 0075 next prev
4123: REASE1: POP PDP,TAC
4124: JUMPE UUO,NOTLOG
4125: REASE4: SETZM @UUO
4126: POPJ PDP,
4127:
4128: REASE2: MOVEI TAC,NOTDEV
4129: REASE5: POP PDP,TAC1
4130: JUMPE UUO,(TAC)
4131: AOJA UUO,REASE4
4132:
4133: REASE3: MOVEI TAC,REASSX
4134: JRST REASE5
4135:
4136: REASE6: MOVEI TAC,REASE7
4137: JRST REASE5
4138: REASE7: MOVE TAC1,DEVNAM(DEVDAT)
4139: MOVE DEVDAT,-2(PDP)
4140: PUSHJ PDP,PRNAME
4141: JSP TAC,ERRMES
4142: ASCIZ / CAN'T BE REASSIGNED
4143: /
4144:
4145: REASSX: MOVE TAC1,DEVNAM(DEVDAT)
4146: JRST DEAER2+1
CLKSER page# 0076 next prev
4148:
4149:
4150:
4151:
4152:
4153:
4154:
4155:
4156: ↑ATTACH:
4157: PUSHJ P,DECIN
4158: JRST NOTENF
4159: IFN FTLOGIN,<
4160: JRST DEVATT
4161: >
4162: IFE FTLOGIN,<
4163: JRST NOTLOG
4164: >
4165: JUMPE TAC1,NOTLOG
4166: CAIL TAC1,JOBN
4167: JRST NOTLOG
4168: MOVSI AC2,JNA
4169: TDNN AC2,JBTSTS(TAC1)
4170: JRST NOTLOG
4171: IFN FTLOGIN,<
4172: PUSH P,TAC1
4173: PUSHJ P,PJPGNO
4174: MOVE AC2,PRJPRG(J)
4175: POP P,TAC1
4176: CAME AC2,PRJPRG(TAC1)
4177: JRST ATT3
4178:
4179: >
4180: LDB TAC,PUNIT
4181: JRST .+2
4182: ATTILA: HRRE TAC,JBTLIN(J)
4183: CAIGE TAC,PTYL0
4184: JRST THEHUN
4185: MOVE J,PTYJOB-PTYL0(TAC)
4186: CAIE J,(TAC1)
4187: JRST ATTILA
4188: MOVEI J,0
4189: JSP TAC,ERRMES
4190: ASCIZ /ILLEGAL ATTACH LOOP
4191: /
4192:
4193: THEHUN: MOVE J,TAC1
4194: PUSHJ P,COMRT2
4195: PUSHJ P,TTYATT
4196: JRST ATT2
4197: MOVEM DDB,-2(P)
4198: JRST TTYFND
CLKSER page# 0077 next prev
4200: IFN FTLOGIN,<
4201: DEVATT:
4202: ADDI TEM,20
4203: PUSH P,TEM
4204: PUSHJ P,CTEXT
4205: JFCL
4206: POP P,TEM
4207: MOVE AC1,JBTPRV(J)
4208: TLNN AC1,DEVPRV
4209: JRST ATT5
4210: MOVE TAC,TAC1
4211: LSH TAC,-6
4212: DPB TEM,[POINT 6,TAC,5]
4213: PUSH P,DDB
4214: PUSHJ P,DEVSRC
4215: JRST DADD01
4216: LDB AC1,PJOBN
4217: JUMPN AC1,ATT6
4218: MOVE TAC,DEVMOD(DDB)
4219: TLNE TAC,DVUDP
4220: JRST ATTUDP
4221: TRNE TAC,ASSPRG
4222: JRST ATT5A
4223: DPB J,PJOBN
4224: LDB TAC1,PUNIT
4225: TLNE TAC,DVTTY
4226: HRRM DDB,TTYTAB(TAC1)
4227: DADD02: POP P,DDB
4228: POPJ P,
4229:
4230: ATTUDP: LDB TAC,PUNIT
4231: SKIPN UDPCNT-1(TAC)
4232: SKIPE UDPOWN-1(TAC)
4233: JRST ATT6
4234: SETOM UDPOWN-1(TAC)
4235: JRST DADD02
4236:
4237:
4238: DADD00: MOVEI TAC1,0
4239: ROTC TAC,14
4240: CAIN TAC1,'DD'
4241: PUSHJ P,SIX2LN
4242: POPJ P,
4243: CAIL TAC1,=32
4244: POPJ P,
4245: MOVSI TAC,DDDETU!DDANYW
4246: HRRI TAC,(TAC1)
4247: JRST CPOPJ1
4248:
4249: DADD01: PUSHJ P,DADD00
4250: JRST TEMP1
4251: LDB TAC1,[DDUSR+<(TAC)>]
4252: CAIE TAC1,DDDETU
4253: JRST ATT6
4254: PUSHJ P,DDREL
4255: JRST DADD02
4256: >
CLKSER page# 0078 next prev
4258: ATT2: EXCH DDB,TAC1
4259: MOVE TAC1,DEVNAM(TAC1)
4260: MOVE DDB,TTYTAB(DDB)
4261: PUSHJ P,PRNAME
4262: JSP TAC,ERRMES
4263: ASCIZ / ALREADY ATTACHED
4264: /
4265:
4266: ATT3: JSP TAC,ERRMES
4267: ASCIZ /PROJECT-PROGRAMMER NUMBER MISMATCH
4268: /
4269:
4270: ATT5A: POP P,DDB
4271: ATT5: JSP TAC,ERRMES
4272: ASCIZ /CAN'T ATT DEV
4273: /
4274:
4275: ATT6: POP P,DEVDAT
4276: JSP TAC,ERRMES
4277: ASCIZ /WASN'T DET
4278: /
CLKSER page# 0079 next prev
4280:
4281:
4282: FLUSH: PUSHJ P,CTEXT1
4283: JUMPE TAC1,NOTENF
4284: MOVE TAC,TAC1
4285: PUSHJ P,LOG2LN
4286: JRST NOTTTY
4287: SKIPN DDB,TTYTAB(TAC1)
4288: JRST FLUSH1
4289: LDB TAC,PJOBN
4290: CAME TAC,J
4291: JUMPN TAC,INUSE
4292: PUSHJ P,TSETBF
4293: MOVSI TAC,TPMON!IOFST
4294: MOVEM TAC,DEVIOS(DDB)
4295: FLUSH1: MOVE DDB,-2(P)
4296: MOVEI DAT,TTOBUF(DDB)
4297: JSP TAC,CONMES
4298: ASCIZ/FLUSHED./
4299:
4300: NOTTTY: MOVE DDB,-2(P)
4301: MOVEI DAT,TTOBUF(DDB)
4302: JSP TAC,ERRMES
4303: ASCIZ/NOT A TTY.
4304: /
4305:
4306: INUSE: MOVE DDB,-2(P)
4307: MOVEI DAT,TTOBUF(DDB)
4308: JSP TAC,ERRMES
4309: ASCIZ/IN USE.
4310: /
CLKSER page# 0080 next prev
4312:
4313:
4314:
4315:
4316: MFORK: PUSH P,J
4317: PUSHJ P,INIJOB
4318: JRST [POP P,J
4319: POP P,(P)
4320: MOVSI TAC,NOMESS
4321: ANDCAM TAC,-1(P)
4322: JRST LOSEJB]
4323: JRST [POP P,J
4324: POP P,(P)
4325: JRST DLYCM1]
4326: MOVE TAC,J
4327: POP P,J
4328: POPJ P,
4329:
4330: CFORK: MOVSI TAC,JERR
4331: TDNE TAC,JBTSTS(J)
4332: JRST NOCONT
4333: MOVM TAC,JOBQUE(J)
4334: CAIE TAC,STOPQ
4335: JRST FORK
4336: PUSHJ P,MFORK
4337: PUSH P,TAC
4338: MOVNI TAC,RUNQ
4339: MOVEM TAC,JOBQUE(J)
4340: PUSHJ P,REQUE
4341: PUSHJ P,SETRUN
4342: JRST FORK1
4343:
4344: FORK: PUSHJ P,MFORK
4345: PUSH P,TAC
4346: FORK1: PUSH P,JBTLIN(J)
4347: PUSHJ P,DETCH1
4348: POP P,TAC1
4349: HRLM J,-1(P)
4350: PUSHJ P,DDBSRC
4351: JRST [POP P,J
4352: PUSHJ P,RELJOB
4353: MOVEI J,0
4354: POPJ P,]
4355: MOVSI TAC,NOMESS
4356: ANDCAM TAC,-2(P)
4357: MOVEM DDB,-3(P)
4358: MOVEI DAT,TTOBUF(DDB)
4359: POP P,J
4360: PUSHJ P,FORKC
4361: PUSHJ P,PRJOB
4362: PUSHJ P,INLMES
4363: ASCIZ/
4364: FORK YOU VERY MUCH!/
4365: JRST PRCRCC
4366:
4367: ↑FORKC: MOVSI TAC,JLOG!JNA
4368: IORM TAC,JBTSTS(J)
4369: SETZM DEVLOG(DDB)
4370: PUSHJ P,TTYATI
4371: HLRZ TAC,-1(P)
4372: MOVE TAC,PRJPRG(TAC)
4373: MOVEM TAC,PRJPRG(J)
4374: HLRZ TAC,-1(P)
4375: MOVE TAC,JBTPRV(TAC)
4376: MOVEM TAC,JBTPRV(J)
4377: HLRZ TAC,-1(P)
4378: MOVE TAC,JB2PRV(TAC)
4379: MOVEM TAC,JB2PRV(J)
4380: PUSHJ P,SETLOG
4381: HLRZ TAC,-1(P)
4382: MOVE TAC,DSKPPN(TAC)
4383: MOVEM TAC,DSKPPN(J)
4384: POPJ P,
4385:
4386: LOSEJB: JSP TAC,ERRMES
4387: ASCIZ/JOB CAPACITY EXCEEDED!
4388: /
4389:
4390: CDETACH:MOVSI TAC,JERR
4391: TDNE TAC,JBTSTS(J)
4392: JRST NOCONT
4393: MOVM TAC,JOBQUE(J)
4394: CAIE TAC,STOPQ
4395: JRST DETCH1
4396: MOVNI TAC,RUNQ
4397: MOVEM TAC,JOBQUE(J)
4398: PUSHJ P,REQUE
4399: PUSHJ P,SETRUN
4400: IFE FTLOGIN,<DETACH:>
4401: DETCH1: PUSHJ P,COMRT2
4402: JRST TTYDET
4403:
4404: IFN FTLOGIN,<
4405:
4406: DETACH: PUSHJ P,CTEXT
4407: JUMPE TAC1,DETCH1
4408: MOVE AC1,JBTPRV(J)
4409: TLNN AC1,DEVPRV
4410: JRST LOGER1
4411: MOVE TAC,TAC1
4412: PUSH P,DDB
4413: PUSHJ P,DEVSRC
4414: JRST DDDD01
4415: MOVE TAC,DEVMOD(DDB)
4416: TLNE TAC,DVUDP
4417: JRST DDDUDP
4418: TLNE TAC,DVDSK
4419: JRST TEMP1
4420: MOVEI TAC1,ASSCON
4421: PUSHJ P,ASSASG
4422: JRST ASSER1
4423: TLNE DDB,SYSDEV
4424: JRST TEMP1
4425: XOR AC1,AC1
4426: DPB AC1,PJOBN
4427: MOVE TAC,DEVMOD(DDB)
4428: TLNN TAC,DVTTY
4429: JRST DDDD03
4430: LDB TAC,PUNIT
4431: MOVEI TAC1,-1
4432: HRRM TAC1,TTYTAB(TAC)
4433: DDDD03: POP P,DEVDAT
4434: MOVSI TAC,NOPER!NOCRLF!NOMESS
4435: ANDCAM TAC,-1(P)
4436: POPJ P,
4437:
4438: DDDUDP: LDB TAC,PUNIT
4439: SKIPE UDPCNT-1(TAC)
4440: JRST ASSER1
4441: SETZM UDPOWN-1(TAC)
4442: JRST DDDD03
4443:
4444: TEMP1: POP P,DDB
4445: JRST DEAER1
4446:
4447: LOGER1: JSP TAC,ERRMES
4448: ASCIZ /CAN'T DET DEV
4449: /
4450:
4451: DDDD01: PUSHJ P,DADD00
4452: JRST TEMP1
4453: PUSHJ P,DDCGET
4454: JRST DDDD02
4455: JRST DDDD03
4456: DDDD02: POP P,DDB
4457: JSP TAC,ERRMES
4458: ASCIZ /CHANNEL IN USE
4459: /
4460: >
CLKSER page# 0081 next prev
4462:
4463: ↑DAYTIM:
4464: PUSHJ P,DECIN
4465: JRST DAYT2
4466: JRST COMERA
4467: JUMPN TAC1,.+2
4468: MOVE TAC1,J
4469: MOVE TAC,JBTSTS(TAC1)
4470: TLNE TAC,JNA
4471: TLNE TAC,JSEG
4472: JRST NOTLOG
4473:
4474: PUSH P,[0]
4475: HLRZ TAC,JBTBTM(TAC1)
4476: CAME TAC,THSDAT
4477: SETOM (P)
4478: MOVEI TAC,[ASCIZ /LOGIN RUN NOW
4479: /]
4480: SKIPE (P)
4481: MOVEI TAC,[ASCIZ / LOGIN RUN NOW
4482: /]
4483: PUSHJ P,CONMES
4484: MOVE TAC,JBTBTM(TAC1)
4485: PUSHJ P,PRDATM
4486: MOVE TAC,FTIME(TAC1)
4487: PUSHJ P,PRDATM
4488: MOVE TAC,TIMDAT
4489: PUSHJ P,PRDATM
4490: SUB P,[1,,1]
4491: JRST CRLF
4492:
4493: PRDATM: SKIPN -1(P)
4494: JRST PDTIM0
4495: PUSH P,TAC1
4496: PUSH P,TAC
4497: HLRZ TAC,TAC
4498: IDIVI TAC,=31
4499: MOVEI TAC,1(TAC1)
4500: MOVEI TEM," "
4501: PUSHJ P,PRTIM3
4502: MOVEI TEM,"-"
4503: XCT TYO
4504: POP P,TAC
4505: ANDI TAC,-1
4506: JRST PDTIM1
4507:
4508: ↑DAYT2: PUSH P,DAT
4509: PUSH P,ITEM
4510: MOVE TAC,THSDAT
4511: PUSHJ P,DAYCNT
4512: IDIVI TAC,7
4513: LSH TAC1,1
4514: MOVEI TAC,DAYTAB(TAC1)
4515: PUSHJ P,CONMES
4516: PUSHJ P,PRSPC
4517: POP P,ITEM
4518: POP P,DAT
4519: MOVE TAC,THSDAT
4520: IDIVI TAC,=31
4521: EXCH TAC,TAC1
4522: AOS TAC
4523: PUSHJ P,RADX10
4524: MOVEI TAC,0
4525: DIVI TAC,=12
4526: EXCH TAC,TAC1
4527: MOVE TAC,MONTAB(TAC)
4528: DPB TAC,[POINT 21,DAMESS,27]
4529: MOVEI TAC,DAMESS
4530: PUSHJ P,CONMES
4531: MOVEI TAC,=64(TAC1)
4532: PUSHJ P,RADX10
4533: PUSHJ P,PRSPC
4534: HRRZ TAC,TIMDAT
4535: PUSHJ P,PDTIME
4536: JRST CRLF
4537:
4538: ↑DAYTAB:
4539: ASCIZ/WEDNESDAY/
4540: ASCIZ/THURSDAY/
4541: ASCIZ/FRIDAY/
4542: ASCIZ/SATURDAY/
4543: ASCIZ/SUNDAY/
4544: ASCIZ/MONDAY/
4545: ASCIZ/TUESDAY/
4546:
4547: MONTHB: 0
4548: =31
4549: =59
4550: =90
4551: =120
4552: =151
4553: =181
4554: =212
4555: =243
4556: =273
4557: =304
4558: =334
4559:
4560:
4561:
4562:
4563: ↑DAYCNT:
4564: IDIVI TAC,=31
4565: MOVEI DAT,1(TAC1)
4566: IDIVI TAC,=12
4567: ADD DAT,MONTHB(TAC1)
4568: TRNN TAC,3
4569: CAIGE TAC1,2
4570: SUBI DAT,1
4571: MOVEI TAC1,3(TAC)
4572: LSH TAC1,-2
4573: IMULI TAC,=365
4574: ADDI TAC,(TAC1)
4575: ADDI TAC,(DAT)
4576: POPJ P,
CLKSER page# 0082 next prev
4578:
4579:
4580:
4581:
4582: RUNTIM: PUSHJ P,DECIN
4583: JRST CRUN1
4584: JRST COMERA
4585: JUMPE TAC1,CRUN2
4586: CAIL TAC1,JOBN
4587: JRST NOTLOG
4588: CRUN3: MOVE TAC,JBTSTS(TAC1)
4589: TLNE TAC,JNA
4590: TLNE TAC,JSEG
4591: JRST NOTLOG
4592: PUSHJ P,INLMES
4593: ASCIZ / TOTAL INCREMENT WAIT KCS
4594: /
4595: MOVE TAC,TTIME(TAC1)
4596: PUSHJ P,PRTIME
4597: MOVE TAC,TTIME(TAC1)
4598: SUB TAC,RTIME(TAC1)
4599: PUSHJ P,PRTIME
4600: MOVE TAC,TTIME(TAC1)
4601: CAMN J,TAC1
4602: MOVEM TAC,RTIME(TAC1)
4603:
4604: SKIPGE TAC,JBTWAT(TAC1)
4605: ADD TAC,UPTIME
4606: PUSHJ P,PRTIME
4607: MOVE TAC,JBTKCJ(TAC1)
4608: IDIVI TAC,=60
4609: JRST DECLF
4610:
4611: CRUN1: SKIPE TAC1,J
4612: JRST CRUN3
4613: CRUN2: PUSHJ P,INLMES
4614: ASCIZ /UP /
4615: MOVE TAC,UPTIME
4616: IDIVI TAC,=60*=60
4617: IDIVI TAC,=60
4618: PUSH P,TAC1
4619: PUSHJ P,RADX10
4620: PUSHJ P,INLMES
4621: ASCIZ / hr /
4622: POP P,TAC
4623: PUSHJ P,RADX10
4624: PUSHJ P,INLMES
4625: ASCIZ / min; SHFL /
4626: MOVE TAC,SHFWRD
4627: IDIVI TAC,=1000000/<=60*3>
4628: PUSHJ P,PERCNT
4629: PUSHJ P,INLMES
4630: ASCIZ /; NULL /
4631: MOVE TAC,TTIME
4632: PUSHJ P,PERCNT
4633: PUSHJ P,INLMES
4634: ASCIZ /; ILEV /
4635: MOVE TAC,INTIME
4636: PUSHJ P,PERCNT
4637: PUSHJ P,INLMES
4638: ASCIZ /; RIT /
4639: MOVE TAC,JLRIT
4640: PUSHJ P,PERCN1
4641: JRST CRLF
4642:
4643:
4644:
4645:
4646: PERCNT: IMULI TAC,=1000
4647: IDIV TAC,UPTIME
4648: PERCN1: IDIVI TAC,=10
4649: PUSH P,TAC1
4650: PUSHJ P,RADX10
4651: PUSHJ P,PRPER
4652: POP P,TEM
4653: ADDI TEM,"0"
4654: XCT TYO
4655: MOVEI TEM,"%"
4656: XCT TYO
4657: POPJ P,
4658:
4659: PR2SP: MOVEI TEM," "
4660: XCT TYO
4661: TYOPOP: XCT TYO
4662: POPJ P,
4663:
4664: PRCOLN: MOVEI TEM,":"
4665: JRST TYOPOP
4666:
4667:
4668:
4669: PRTIME: PUSH P,TAC1
4670: IDIVI TAC,=60*=60*=60
4671: JUMPE TAC,PRTIM1
4672: PUSHJ P,RADX10
4673: PUSHJ P,PRCOLN
4674: TRCA TEM,"0"≠":"
4675: PRTIM1: PUSHJ P,PR2SP
4676: MOVE TAC,TAC1
4677: IDIVI TAC,=60*=60
4678: PUSHJ P,PRTIM3
4679: PUSHJ P,PRCOLN
4680: MOVE TAC,TAC1
4681: IDIVI TAC,=60
4682: PUSHJ P,PRTIM2
4683: MOVEI TEM,"'"
4684: XCT TYO
4685: MOVE TAC,TAC1
4686: PUSHJ P,PRTIM2
4687: PUSHJ P,PR2SP
4688: POP P,TAC1
4689: POPJ P,
4690:
4691: PRTIM2: MOVEI TEM,"0"
4692: PRTIM3: CAIGE TAC,=10
4693: XCT TYO
4694: JRST RADX10
4695:
4696:
4697:
4698: PDTIM0: ANDI TAC,-1
4699: PDTIME: PUSH P,TAC1
4700: PDTIM1: IDIVI TAC,=60*=60
4701: PUSHJ P,PRTIM2
4702: PUSHJ P,PRCOLN
4703: MOVE TAC,TAC1
4704: IDIVI TAC,=60
4705: PUSHJ P,PRTIM2
4706: PUSHJ P,PR2SP
4707: POP P,TAC1
4708: POPJ P,
CLKSER page# 0083 next prev
4710:
4711:
4712:
4713:
4714: TALK: PUSHJ PDP,CTEXT
4715: JUMPE TAC1,TALK2
4716: MOVE TAC,TAC1
4717: PUSHJ PDP,DEVSRC
4718: JRST TALK1
4719: PUSHJ PDP,TTYTLK
4720: JRST TALK1
4721: POPJ PDP,
4722:
4723: TALK2:
4724: MOVEM ITEM,-1(PDP)
4725: JRST NOTENF
4726:
4727: TALK1: MOVE DEVDAT,-2(PDP)
4728: MOVSI ITEM,NOINCK
4729: MOVEM ITEM,-1(PDP)
4730: JSP TAC,ERRMES
4731: ASCIZ /BUSY
4732: /
CLKSER page# 0084 next prev
4734:
4735:
4736:
4737:
4738:
4739: ECOM: PUSHJ PDP,OCTIN
4740: JRST ECOM2
4741: JRST COMERA
4742: ECOM1: PUSHJ P,TESTIN
4743: JFCL
4744: HLRZS TAC
4745: PUSH PDP,TAC
4746: PUSHJ PDP,DEAT
4747: SUBI TAC1,(AC3)
4748: ADDM TAC1,(PDP)
4749: HRRZ TAC,JOBEXM(JDAT)
4750: PUSHJ PDP,OCTPNT
4751: PUSHJ PDP,INLMES
4752: ASCIZ %/ %
4753: HLRZ TAC,@(PDP)
4754: PUSHJ PDP,OCTPNT
4755: PUSHJ PDP,INLMES
4756: ASCIZ / /
4757: HRRZ TAC,@(PDP)
4758: PUSHJ PDP,OCTPNT
4759: PUSHJ PDP,INLMES
4760: ASCIZ / /
4761: JRST TPOPJ
4762:
4763:
4764:
4765: ECOM2: MOVE TAC1,JOBEXM(PROG)
4766: AOJA TAC1,ECOM1
4767:
4768:
4769:
4770:
4771: TESTIN: ANDI TAC1,-1
4772: MOVEI AC3,
4773: MOVS TAC,JBTADR(ITEM)
4774: CAIG TAC1,(TAC)
4775: JRST CPOPJ1
4776: MOVEI AC3,1(TAC)
4777: LDB AC1,PSEGN
4778: JUMPE AC1,ECOMP
4779: MOVE AC2,JBTSTS(AC1)
4780: TLNE AC2,JWP
4781: XCT @(P)
4782: SKIPE TAC,JBTADR(AC1)
4783: JRST TESTU1
4784: LDB TAC,IMGIN
4785: ASH TAC,12
4786: SOJA TAC,.+2
4787: TESTU1: MOVS TAC,TAC
4788: CAIGE AC3,400000
4789: MOVEI AC3,400000
4790: ADDI TAC,(AC3)
4791: CAIL TAC1,(AC3)
4792: CAILE TAC1,(TAC)
4793: JRST ECOMP
4794: TLNN AC2,SWP
4795: JRST CPOPJ1
4796: MOVSI TAC,JHLDIN
4797: IORM TAC,JBTSTS(J)
4798: EXCH J,AC1
4799: MOVSI TAC,COMSNB
4800: PUSHJ P,SETSIN
4801: MOVE J,AC1
4802: POP P,(P)
4803: JRST DLYCM1
4804:
4805: ECOMP: POP P,TAC
4806: ECOMA: JSP TAC,ERRMES
4807:
4808: ASCIZ /OUT OF BOUNDS
4809: /
CLKSER page# 0085 next prev
4811:
4812:
4813:
4814:
4815: DCOM: PUSHJ PDP,OCTIN
4816: JRST NOTENF
4817: JRST COMERA
4818: HRLM TAC1,IOS
4819: PUSHJ PDP,OCTIN
4820: JRST NOTENF
4821: JRST COMERA
4822: HRRM TAC1,IOS
4823: PUSHJ PDP,OCTIN
4824: SKIPA TAC1,JOBEXM(JDAT)
4825: JRST COMERA
4826: PUSHJ P,TESTIN
4827: JRST ECOMP
4828: CAIGE TAC1,20
4829: JRST .+3
4830: CAIG TAC1,JOBPFI
4831:
4832: JRST ECOMA
4833: HLLM TAC,(PDP)
4834: PUSHJ PDP,DEAT
4835: HLRZ TAC,(PDP)
4836: SUBI TAC1,(AC3)
4837: ADD TAC1,TAC
4838: MOVEM IOS,@TAC1
4839: IFN FTSWAP,<
4840: JUMPE AC3,.+2
4841: SETOM STIME(AC1)
4842: >
4843: POPJ PDP,
4844:
4845:
4846:
4847: DEAT: MOVEM TAC1,JOBEXM(JDAT)
4848: IFN FTSWAP,<
4849: SETOM STIME(J)
4850: > MOVE TAC,JOBPC(JDAT)
4851: CAMN J,JOB
4852: MOVE TAC,USRPC
4853: CAIL TAC1,20
4854: POPJ PDP,
4855: TLNE TAC,USRMOD
4856: ADDI TAC1,JOBDAC
4857: POPJ PDP,
CLKSER page# 0086 next prev
4859:
4860:
4861:
4862:
4863: CBLANK:
4864: CAIE TEM,12
4865: CAIN TEM,";"
4866: POPJ PDP,
4867:
4868:
4869:
4870:
4871: NOCOM: JRST COMERR
CLKSER page# 0087 next prev
4873:
4874: FINIS: JUMPE PROG,CPOPJ
4875: PUSHJ PDP,CTEXT1
4876: MOVEM TAC1,JOBFDV(JDAT)
4877: MOVSI TAC,TTYRNU
4878: IORM TAC,-1(P)
4879: JSP TAC1,MSTART
4880: JSP TAC,MONSTR
4881: MOVE TAC,JOBFDV(JDAT)
4882: JUMPE TAC,FINALL
4883: FIN3: PUSHJ P,DEVLG
4884: JRST FIN1
4885: PUSHJ P,FINRDV
4886: PUSH P,[FIN3+1]
4887: JRST DEV0
4888:
4889: FIN1: PUSHJ P,DEVPHY
4890: JRST FIN2
4891: PUSHJ P,FINRDV
4892: PUSH P,[FIN1+1]
4893: MOVE AC1,DEVMOD(DDB)
4894: TLNN AC1,DVTTY
4895: JRST DEVLP2
4896:
4897: FIN2: PUSHJ P,TTYFNU
4898: PUSHJ P,INLMES
4899: ASCIZ /
4900: FINISH WHAT?/
4901: PUSHJ P,PRCRCC
4902: JRST FINXIT
4903:
4904:
4905:
4906:
4907:
4908:
4909: FINRDV: SKIPGE UCHN,USRHCU(PID)
4910: JRST FIN2
4911:
4912: FINRD1: HRRZ AC1,USRJDA(UCHN)
4913: CAME AC1,DEVDAT
4914: SOJGE UCHN,FINRD1
4915: JUMPL UCHN,FINSTK
4916: PUSHJ P,FINREL
4917: FINRD2: PUSHJ P,TTYFNU
4918: PUSHJ P,PRCRCC
4919: FINXIT: PUSHJ P,TTYSTC
4920: JRST MSTOP
4921:
4922: FINREL: PUSH P,UCHN
4923: MOVSI UUO,(<RELEAS>)
4924: DPB UCHN,PUUOAC
4925: MOVE UCHN,DEVMOD(DDB)
4926: TRNE UCHN,ASSCON
4927: JRST FINRL1
4928: XCT UUO
4929: FINRL2: POP P,UCHN
4930: POPJ P,
4931:
4932: FINRL1: PUSH P,DDB
4933: XCT UUO
4934: POP P,DDB
4935: MOVSI UCHN,DVDIRIIN
4936: ANDCAM UCHN,DEVMOD(DDB)
4937: JRST FINRL2
4938:
4939: FINSTK: MOVE J,JOB(PID)
4940: SKIPL UCHN,JBTIOP(J)
4941: POPJ P,
4942: FINST1: HRRZ AC1,(UCHN)
4943: CAME AC1,DDB
4944: JRST FINST2
4945: MOVE DDB,USRJDA
4946: EXCH DDB,(UCHN)
4947: MOVEM DDB,USRJDA
4948: PUSH P,UCHN
4949: MOVEI UCHN,0
4950: PUSHJ P,FINREL
4951: POP P,UCHN
4952: MOVE DDB,(UCHN)
4953: EXCH DDB,USRJDA
4954: MOVEM DDB,(UCHN)
4955: JRST FINRD2
4956:
4957: FINST2: ADD UCHN,[1,,1]
4958: AOBJN UCHN,FINST1
4959: POPJ P,
4960:
4961: FINALL: SKIPGE UCHN,USRHCU(PID)
4962: JRST FINAL3
4963: FINAL1: SKIPE DEVDAT,USRJDA(UCHN)
4964: PUSHJ P,FINREL
4965: SOJGE UCHN,FINAL1
4966: FINAL3: MOVE J,JOB(PID)
4967: SKIPL UCHN,JBTIOP(J)
4968: JRST FINST3
4969: FINST4: SKIPN DDB,(UCHN)
4970: JRST FINST5
4971: SETZM (UCHN)
4972: MOVEM DDB,USRJDA
4973: PUSH P,UCHN
4974: SETZ UCHN,
4975: PUSHJ P,FINREL
4976: POP P,UCHN
4977: FINST5: ADD UCHN,[1,,1]
4978: AOBJN UCHN,FINST4
4979: HRRZ AC1,JBTIOP(J)
4980: SETZM JBTIOP(J)
4981: PUSHJ P,FSGIVE
4982: FINST3: PUSHJ P,FKALL
4983: JRST FINRD2
4984:
4985:
4986:
4987:
4988: FKALL: MOVEI DDB,DEVLST-DEVSER
4989: FKALL1: HLRZ DDB,DEVSER(DDB)
4990: JUMPE DDB,CPOPJ
4991: LDB AC1,PJOBN
4992: CAIE AC1,(J)
4993: JRST FKALL1
4994: MOVE AC1,DEVMOD(DDB)
4995: TRNN AC1,ASSPRG
4996: JRST FKALL1
4997: MOVEM DDB,USRJDA
4998: MOVSI AC1,DVDIRIN
4999: ANDCAM AC1,DEVMOD(DDB)
5000: CLOSE 0,3
5001: RELEAS 0,3
5002: JRST FKALL
CLKSER page# 0088 next prev
5004:
5005:
5006: FREDEV:
5007: IFN FTDISK,<
5008: PUSHJ P,INLMES
5009: ASCIZ /DSK /
5010: MOVEI AC2,0
5011: FRUDP1: MOVEI TAC1,(AC2)
5012: PUSHJ P,DSKRES
5013: PUSHJ P,RADX10
5014:
5015: FRUDP2: ADDI AC2,1
5016: CAILE AC2,UPACKS
5017: JRST FRUDP9
5018: PUSHJ P,INLMES
5019: ASCIZ /
5020: /
5021: MOVE TAC,DKDBML(AC2)
5022: MOVE TAC1,DEVNAM(TAC)
5023: PUSHJ P,PRNAME
5024: SKIPE TAC,SATADR(AC2)
5025: PUSHJ P,SATTAC
5026: MOVEI TAC,[ASCIZ / FREE/]
5027: SKIPE UDPCNT-1(AC2)
5028: MOVEI TAC,[ASCIZ / PUBLIC /]
5029: SKIPL UDPOWN-1(AC2)
5030: MOVEI TAC,[ASCIZ / PRIVATE /]
5031: SKIPE UDPOWN-1(AC2)
5032: JRST FRUDP3
5033: MOVEI TAC,[ASCIZ / DETACHED FROM SYSTEM/]
5034: SKIPE UDPCNT-1(AC2)
5035: MOVEI TAC,[ASCIZ / SWAPPING DEVICE/]
5036: FRUDP3: PUSHJ P,CONMES
5037: SKIPE SATADR(AC2)
5038: JRST FRUDP1
5039: JRST FRUDP2
5040: >
5041: FRUDP9: PUSHJ P,INLMES
5042: ASCIZ /
5043: DDC /
5044: MOVE TAC,DDFCNT
5045: PUSHJ P,RADX10
5046: PUSHJ P,INLMES
5047: ASCIZ /
5048: JSA /
5049: MOVE TAC1,JOBNM1
5050: SETZ TAC,
5051: MOVSI AC2,JNA
5052: LOP03: TDNN AC2,JBTSTS(TAC1)
5053: ADDI TAC,1
5054: SOJG TAC1,LOP03
5055: PUSHJ P,DECLF
5056:
5057: PUSH P,[0]
5058: HLRZ AC1,DEVLST
5059: LOP01: MOVEI AC2,ASSCON+ASSPRG
5060: TDNN AC2,DEVMOD(AC1)
5061: PUSHJ PDP,LOP02
5062: HLRZ AC1,DEVSER(AC1)
5063: JUMPN AC1,LOP01
5064: PUSHJ P,CRLF
5065: JRST TPOPJ
5066:
5067: LOP02: MOVE TAC,DEVMOD(AC1)
5068: TLNE TAC,DVTTY!DVDSK!DVIMP!DVUDP
5069: POPJ PDP,
5070: LOP04: MOVEI TEM,","
5071: SKIPE -1(P)
5072: XCT TYO
5073: MOVE TAC1,DEVNAM(AC1)
5074: HRRZ AC2,DEVSER(AC1)
5075: CAMN AC2,-1(P)
5076: HRLZ TAC1,TAC1
5077: MOVEM AC2,-1(P)
5078: PUSHJ P,PRNAME
5079: POPJ P,
5080:
5081: SATTAC: PUSH P,TAC
5082: MOVEI TEM,"("
5083: XCT TYO
5084: POP P,TAC
5085: MOVE TAC1,SATID(TAC)
5086: PUSHJ P,PRNAME
5087: MOVEI TEM,")"
5088: XCT TYO
5089: POPJ P,
CLKSER page# 0089 next prev
5091:
5092: RUNCHK: CAMN ITEM,STUSER
5093: JRST DLYCM1
5094: ACTCHK: JUMPE PROG,ACTCH1
5095: TLNE AC1,SWP
5096: JRST ACTCH1
5097: PUSHJ PDP,ANYACT
5098: JRST DLYCM1
5099: ACTCH1: MOVE TAC1,-1(PDP)
5100: MOVE DDB,-2(PDP)
5101: MOVE AC1,JBTSTS(ITEM)
5102: POPJ PDP,
5103:
5104:
5105:
5106:
5107:
5108:
5109:
5110:
5111: DLYCR2: MOVE TAC1,LINSAV
5112: MOVSI TAC,COMBIT
5113: CONO PI,SCNOFF
5114: TDNE TAC,TTYTAB(TAC1)
5115: SOS COMCNT
5116: ANDCAM TAC,TTYTAB(TAC1)
5117: IFN FTTTYBUG,<
5118: PUSHJ P,COMBCK
5119: PUSHJ P,CNTCOM
5120: >
5121: CONO PI,SCNON
5122: POPJ P,
5123:
5124: DLYCR1: PUSHJ P,DLYCR2
5125: JRST DLYCM1
5126:
5127: DLYCOR: PUSHJ P,DLYCR2
5128: DLYCM: PUSHJ PDP,DLYCOM
5129: ↑DLYCM1:AOS NDLYCMS
5130: POP P,TAC
5131: POP P,TAC1
5132: POP P,TAC1
5133: PUSHJ P,TTYCM
5134: POPJ P,
5135: JRST COM0
CLKSER page# 0090 next prev
5137:
5138:
5139:
5140:
5141:
5142:
5143: IFN FTDISK,<
5144:
5145: ↑STOPCK:PUSH PDP,DEVDAT
5146: MOVEI DEVDAT,DSKDDB
5147: MOVSI TAC1,DSKFGS
5148: STOPD: LDB TAC,PJOBN
5149: CAIE ITEM,(TAC)
5150: JRST STOPC
5151: TDNE TAC1,DEVIOS(DEVDAT)
5152: JRST STOPR1
5153: STOPC: HLRZ DEVDAT,DEVSER(DEVDAT)
5154: MOVE TAC,DEVMOD(DDB)
5155: TLNE TAC,DVDSK
5156: JRST STOPD
5157: TLNE TAC,DVUDP
5158: JRST STOPC
5159: AOS -1(PDP)
5160: STOPR1: POP PDP,DEVDAT
5161: POPJ PDP,
5162: >
CLKSER page# 0091 next prev
5164:
5165:
5166: FILCOM: MOVEI AC1,DSKDDB
5167: PUSHJ P,CTEXT1
5168: JUMPE TAC1,FIL2
5169: PUSH P,TAC1
5170: CAIN TEM,"."
5171: JRST FIL3
5172: CAIN TEM,"["
5173: JRST FIL4
5174: PUSHJ P,FIL2JB
5175: JRST FIL5
5176: PUSH P,[0]
5177: FIL6D: SKIPN AC2,DSKPPN(J)
5178: MOVE AC2,PRJPRG(J)
5179: FIL6: PUSH P,AC2
5180: PUSHJ P,FIL99
5181: PUSHJ P,CRLF
5182: FIL6A: PUSHJ P,NXTDSK
5183: JRST FIL6B
5184: MOVE TAC,DEVFIL(AC1)
5185: CAME TAC,-2(P)
5186: JRST FIL6A
5187: HLLZ TAC,DEVEXT(AC1)
5188: CAME TAC,-1(P)
5189: JRST FIL6A
5190: MOVE TAC,FILPPN(AC1)
5191: CAMN TAC,(P)
5192: FIL6C: PUSHJ P,PTFILE
5193: JRST FIL6A
5194: HRRZM AC1,SAVDDB(DDB)
5195: JRST .+2
5196: FIL6B: SETZM SAVDDB(DDB)
5197: SUB P,[3,,3]
5198: POPJ P,
5199:
5200: FIL4: SKIPA TAC1,[0]
5201: FIL3: PUSHJ P,CTEXT
5202: PUSH P,TAC1
5203: FIL3A: PUSHJ P,PJPGNO
5204: JRST FIL6D
5205: JRST FIL6
5206:
5207: FIL99: PUSHJ P,SKIPS1
5208: SUB P,[4,,4]
5209: JRST COMERA
5210:
5211: FIL88: PUSHJ P,SKIPS1
5212: SUB P,[2,,2]
5213: JRST COMERA
5214:
5215: FIL5: SUB P,[1,,1]
5216: JUMPN TAC,FIL5D
5217: FIL5C: SKIPN TAC,J
5218: JRST LOGPLS
5219: FIL5D: MOVE TAC1,JBTSTS(TAC)
5220: TLNE TAC1,JNA
5221: TLNE TAC1,JSEG
5222: JRST NOTLOG
5223: PUSH P,TAC
5224: PUSHJ P,FIL88
5225: PUSHJ P,CRLF
5226: FIL5A: PUSHJ P,NXTDSK
5227: JRST FIL5B
5228: LDB TAC1,[POINT 6,DEVCHR(AC1),5]
5229: CAMN TAC1,(P)
5230: FIL5E: PUSHJ P,PTFILE
5231: JRST FIL5A
5232: HRL AC1,(P)
5233: MOVEM AC1,SAVDDB(DDB)
5234: JRST TPOPJ
5235: FIL5B: SETZM SAVDDB(DDB)
5236: JRST TPOPJ
5237:
5238: FIL2JB: TDNE TAC1,[77,,-1]
5239: JRST CPOPJ1
5240: SETZ TAC,
5241: LSHC TAC,6
5242: SUBI TAC,'0'
5243: JUMPL TAC,CPOPJ1
5244: CAILE TAC,=9
5245: JRST CPOPJ1
5246: JUMPE TAC1,CPOPJ
5247: ROT TAC1,6
5248: SUBI TAC1,'0'
5249: JUMPL TAC1,CPOPJ1
5250: CAILE TAC1,=9
5251: JRST CPOPJ1
5252: IMULI TAC,=10
5253: ADD TAC,TAC1
5254: POPJ P,
5255:
5256: FIL2: PUSHJ P,COMEND
5257: HRRZ TAC,SAVDDB(DDB)
5258: JUMPE TAC,FIL5C
5259: FIL2A: PUSHJ P,NXTDSK
5260: JRST FIL5C
5261: CAME TAC,AC1
5262: JRST FIL2A
5263: HLRZ TAC,SAVDDB(DDB)
5264: PUSH P,TAC
5265: JUMPN TAC,FIL5E
5266: MOVE TAC,DEVFIL(AC1)
5267: MOVEM TAC,(P)
5268: PUSH P,DEVEXT(AC1)
5269: HLLZS (P)
5270: PUSH P,FILPPN(AC1)
5271: JRST FIL6C
5272:
5273: PTFILE: MOVEI TAC,=39+4
5274: CAML TAC,TOFCTR(DDB)
5275: JRST PTFIL1
5276: LDB TAC,[POINT 6,DEVCHR(AC1),5]
5277: MOVEI TEM," "
5278: CAIGE TAC,=10
5279: XCT TYO
5280: PUSHJ P,RADX10
5281: MOVE TAC1,DEVFIL(AC1)
5282: PUSHJ P,PR6SIX
5283: HLLZ TAC1,DEVEXT(AC1)
5284: PUSHJ P,PR3SIX
5285: MOVE TAC1,FILPPN(AC1)
5286: PUSHJ P,PR6SIX
5287: MOVE TAC,FILLNG(AC1)
5288: PUSHJ P,DGETL1
5289: SKIPE TAC1,TAC
5290: SUBI TAC1,1
5291: PUSHJ P,PRREC
5292: MOVE TAC1,USETP(AC1)
5293: PUSHJ P,PRREC
5294: MOVEI TEM," "
5295: XCT TYO
5296: MOVEI TEM,"U"
5297: TLNE AC2,DVUDP
5298: XCT TYO
5299: MOVE TAC,DEVIOS(AC1)
5300: TLNN TAC,READB
5301: JRST PTFIL2
5302: MOVEI TEM,"R"
5303: XCT TYO
5304: MOVEI TEM,"A"
5305: TLNE TAC,ALTERB
5306: XCT TYO
5307: MOVEI TEM,"E"
5308: TLNE TAC,IOEND
5309: XCT TYO
5310: JRST CRLF
5311: PTFIL2: MOVEI TEM,"W"
5312: TLNE TAC,WRITEB
5313: XCT TYO
5314: JRST CRLF
5315:
5316: PTFIL1: PUSHJ P,INLMES
5317: ASCIZ / .../
5318: JRST CPOPJ1
5319:
5320: PR3SIX: MOVEI UCHN,3
5321: JRST .+2
5322: PR6SIX: MOVEI UCHN,6
5323: MOVEI TEM," "
5324: XCT TYO
5325: PRSIXA: SETZ TAC,
5326: LSHC TAC,6
5327: MOVEI TEM,40(TAC)
5328: XCT TYO
5329: SOJG UCHN,PRSIXA
5330: POPJ P,
5331:
5332: PRREC: MOVEI UCHN,5
5333: MOVEI TEM," "
5334: HRLZ TAC1,TAC1
5335: PRREC2: SETZ TAC,
5336: LSHC TAC,3
5337: JUMPN TAC,PRREC1
5338: XCT TYO
5339: SOJG UCHN,PRREC2
5340: PRREC3: SETZ TAC,
5341: LSHC TAC,3
5342: PRREC1: MOVEI TEM,"0"(TAC)
5343: XCT TYO
5344: SOJGE UCHN,PRREC3
5345: POPJ P,
5346:
5347: NXTDSK: HLRZ AC1,DEVSER(AC1)
5348: JUMPE AC1,CPOPJ
5349: MOVE AC2,DEVMOD(AC1)
5350: TLNN AC2,DVDSK
5351: JRST NXTDSK
5352: JRST CPOPJ1
EOF: CLKSER end-of-file. cnt=90